press-1: разрешения Claude Code и Codex одной клавишей

Бесплатная Windows-утилита показывает запросы Claude Code поверх окон и принимает ответ глобальным хоткеем. Поддержка Codex — экспериментальная.

21.07.2026·Егор Соколов·5 мин чтения

Оттиск · к разборув две краски

В марте в r/ClaudeAI завирусилась картинка пользователя NinjaGraphics: клавиатура Anthropic на три клавиши — «Allow once», «Allow always» и «Reject». Я посмотрел и подумал: вообще-то это было бы очень удобно.

Мем о трёхкнопочной клавиатуре Anthropic: Allow once, Allow always и Reject
Та самая трёхкнопочная клавиатура. Источник — пост NinjaGraphics в r/ClaudeAI.

У меня три монитора. На каждом что-то делает Claude Code, я смотрю в центральный, а запрос разрешения появляется на левом. Дальше знакомый ритуал: взять мышку, доехать до другого монитора, найти нужное окно, кликнуть и нажать единицу.

Из этой шутки вырос press-1 — бесплатная open-source утилита для Windows. Она собирает ждущие запросы Claude Code в одном небольшом попапе поверх окон и даёт ответить хоткеем или мышью, не переключая фокус. В экспериментальном режиме работает и с Codex.

Агент ждёт в окне, на которое вы не смотрите

Запрос появляется там, где работает агент, — а это редко то окно, на которое вы сейчас смотрите. Три монитора, десяток окон на одном экране или свёрнутый терминал под видео на ноутбуке: вы либо идёте искать запрос, либо вообще его не замечаете.

Вторая ситуация хуже. Вы думаете, что агент всё ещё работает, а он уже закончил и несколько минут ждёт ответа в окне под другими окнами.

Само решение обычно занимает секунду: разрешить, запретить или сначала посмотреть внимательнее. Время уходит на дорогу до места, где это решение нужно принять. press-1 убирает именно эту дорогу: показывает запрос поверх текущего окна, подаёт мягкий отключаемый сигнал и принимает ответ глобальным хоткеем или кликом.

Работа с Claude Code на трёх мониторах и панель press-1

Почему не отключить запросы совсем

Резонный вопрос: есть --dangerously-skip-permissions, auto-approve хуки, allow-листы и статьи в духе «хватит жать Allow». Зачем делать отдельный попап, если можно запретить агенту спрашивать?

Я не против автоматизации и сам в основном работаю в auto mode. В этом режиме отдельный классификатор пропускает безопасные действия сам, а спорные всё равно выносит пользователю. Подробнее я разбирал его в статье про Claude Opus 4.7.

Но auto mode — не «делай что хочешь». Claude по-прежнему останавливается на сомнительной команде, спорной правке, согласовании плана или вопросе с выбором. Эти решения я хочу оставлять за собой. press-1 не уменьшает контроль и не пытается принимать решения вместо меня — он только делает оставшиеся запросы мгновенно доступными.

С plan-tango была та же логика: Codex продолжает ревьюить планы Claude Code, я только убрал ручную пересылку между ними. В press-1 решение остаётся у человека, а исчезает беготня по окнам.

Что умеет press-1

  • Один попап для всех запросов. Ждущие запросы собираются в стопку карточек, по одной на каждый агент и проект. Если карточек несколько, между ними можно переключаться.
  • Контекст прямо в карточке. Видно, кто спрашивает — Claude или Codex — и что он собирается сделать: например, Bash(npm test) или Edit(src/config.ts). Длинную команду можно развернуть целиком.
  • Ровно те кнопки, которые показал агент. Где-то это «Allow / Always allow / Deny», где-то только «Allow / Deny». press-1 повторяет реальную раскладку конкретного запроса.
  • Ответ адресуется конкретному запросу. Если он уже исчез или был отменён в исходном окне, press-1 отбросит ответ, а не напечатает цифру в случайном терминале.
  • Хоткей, мышь или переход к исходному окну. Из коробки Ctrl+Win+1/2/3 выбирают соответствующую кнопку. Можно кликнуть мышью или нажать кнопку с лупой, чтобы перейти к запросу, ничего не подтверждая.
  • Любое подходящее железо. Обычная клавиатура, трёхкнопочный макропад, Stream Deck или, как у меня, Logitech MX Creative Console. press-1 слушает и клавиши F13–F24, которые удобно назначать на внешние устройства.
Окно press-1 с запросами разрешений Claude Code и Codex
Запросы Claude Code и Codex собираются в одном попапе поверх окон.

Claude Code — основной и наиболее отработанный сценарий: для него press-1 изначально и создавался. Он работает в VS Code, Cursor и Windsurf, а также в Windows Terminal, cmd и PowerShell. Интеграция с Codex добавилась позже, поэтому пока у неё статус экспериментальной.

Что press-1 не делает

press-1 не auto-approver. Он ничего не одобряет автоматически, не обходит разрешения и не «доверяет» командам по собственному списку. Каждое нажатие остаётся вашим решением.

Для обычного разрешения инструмент повторяет нативные варианты: разрешить один раз, сохранить правило через «Always allow» или отклонить. Для вопросов, выбора из списка и согласования плана он не отправляет цифры вслепую: показывает карточку и переводит фокус в нужное окно, чтобы вы ответили там.

Установить press-1

Быстрый путь — одна команда в PowerShell:

irm https://raw.githubusercontent.com/egsok/press-1/main/bootstrap.ps1 | iex

Она проверит AutoHotkey v2 и Node.js, предложит установить недостающее через winget, затем установит и запустит press-1. Если предпочитаете сначала посмотреть код, откройте репозиторий на GitHub, склонируйте его и запустите install.ps1 вручную.

Требования и границы:

  • Windows 10/11;
  • Claude Code 2.1.x; Codex CLI — опционально;
  • агент должен работать на этой же машине — запросы удалённой сессии через SSH/tmux press-1 не видит;
  • окно ответа живёт 60 минут, после чего ответить можно в исходном терминале;
  • когда auto mode принимает решение сам, запроса не возникает и press-1 молчит.

Код открыт под лицензией MIT.

Как одна цифра превратилась в отдельный продукт

Первая версия действительно была маленьким скриптом: нажимаешь хоткей — он отправляет в терминал единицу. Потом появились вопросы. Что делать, если терминалов несколько? Что, если новый запрос возник, пока нажимаешь клавишу? И главное: в одном окне двойка означает «Always allow», а в соседнем — «Deny».

Стало понятно, что слепой хоткей опасен. Нужен интерфейс, который показывает реальный запрос, и доставка ответа именно туда, откуда он пришёл. Так появились карточки (поначалу, прямо скажем, довольно страшные), очередь, таргетный ответ и кнопка перехода к исходному окну.

За спокойным попапом осталась длинная техническая история: почему PID не помог отличить одно окно VS Code от другого, как звук не работал с первой версии и почему под конец я выкинул самый хитрый кусок проекта — после чего всё стало только лучше. Это материал для отдельного лонгрида. Сам press-1 получился в том же режиме, в котором я сейчас делаю почти весь софт: сделано ИИ, проверено человеком.

А мем в итоге оказался не такой уж шуткой. Три физические клавиши для ответов у меня действительно появились — верхним рядом на Logitech MX Creative Console. Но покупать отдельное устройство не обязательно: press-1 работает с обычной клавиатурой и мышью, а на карточке ещё и видно, что именно вы разрешаете.

Клавиши press-1 на Logitech MX Creative Console
Те самые три физические клавиши — верхним рядом на Logitech MX Creative Console.

Если агенты работают на Windows и надоело искать окно, в котором они остановились, — забирайте press-1 на GitHub. Про баги и странные сценарии лучше всего писать в issues.

Портрет автора · в две краски
Кто за станком

Егор Соколов

Продакт-менеджер: Рольф, Клаустрофобия, 5,5 лет в Сбере — от продакта до директора подразделения. С лета 2025 — соло.

Разбираю нейросети и AI-инструменты, которыми работаю сам: Claude Code, голосовой ввод, бенчмарки моделей. Что не дорастает до разбора — выходит в канале.

Свежие разборы

Ещё из мастерской

Все разборы →
№02 09.06.2026

Я ошибался: бенчмарк 23 ASR-нейросетей для русской айтишной диктовки

Читать →
№03 14.05.2026

Plan-tango: как я перестал гонять план между Claude Code и Codex руками

Читать →
№04 16.04.2026

Claude Opus 4.7: трейд-оффы, Extra High и новый характер

Читать →

Обсуждение

вопросы и несогласия приветствуются · отвечаю сам