Claude Code나 Codex가 작업 중일 때 휴대폰에서 메시지를 큐에 넣는 방법
Claude Code / Codex 세션이 실행 중일 때, 대기 메시지와 스티어링으로 떠오른 생각을 잃지 않고(실행을 망치지 않고) 전달하는 방법.
- CLI
- 0.2.17
- 프리뷰 ref
- a2c45c8
아주 구체적인 모바일 문제입니다.
세션이 긴 턴 중간이고(Claude Code나 Codex가 작업 중), 나는 휴대폰만 들고 있습니다.
덧붙일 중요한 것(제약, 건드리면 안 되는 파일, 수정 사항)이 있지만 이런 일은 피하고 싶습니다.
- 메시지를 잃는 것
- 덜 다듬어진 후속 메시지로 세션을 도배하는 것
- 잘 진행되던 턴을 실수로 중단하는 것
그래서 모바일에서 잘 동작하는 두 가지 행동이 필요합니다.
- "이 생각을 저장해 뒀다가 에이전트가 준비되면 보내 줘."
- "아니, 지금 당장 현재 턴을 고쳐야 해."
이것이 바로 대기 메시지와 스티어링 / 중단의 역할입니다.
요약
- 에이전트는 계속 돌게 두고 잊지만 않으면 된다면: Pending until ready(대기 큐)를 씁니다.
- 현재 턴을 바로 고쳐야 한다면: Steer immediately(지원될 때) 또는 Interrupt를 씁니다.
- 확실하지 않다면 큐에 넣으세요. 서두른 중단을 되돌리는 것보다 대기 메시지를 편집하거나 순서를 바꾸는 게 쉽습니다.
일반적인 방법과 트레이드오프
-
일단 보내고 기대하기: 타이밍이 틀리거나, 원하지 않은 중단이 생기기도 합니다.
-
기다렸다 나중에 보내기: 핵심 내용을 잊기 전까지는 됩니다.
-
휴대폰에서 SSH를 열어 두기: 가능하지만, 10초짜리 후속 지시가 모바일 터미널 작업이 됩니다.
-
Happier: 코딩 에이전트를 크로스 디바이스로 실행하고 오케스트레이션하는 오픈 소스 앱입니다. 실제 "대기 큐"와 "스티어 / 중단" 제어가 있어서, 메시지를 기다리게 할지 현재 턴에 반영할지 고를 수 있습니다. 트레이드오프: 스티어링은 백엔드나 런타임에 달려 있고, 대기 큐 동작은 서버와 에이전트 양쪽의 지원에 달려 있습니다.
Happier가 처음이라면(무엇이고 어디서 받는지)
Happier는 Claude Code, Codex, OpenCode 같은 AI 코딩 에이전트를 위한 오픈 소스 컴패니언 앱(모바일 / 웹 / 데스크톱)입니다.
세션은 여전히 신뢰하는 머신(노트북 / 서버 / 개발 머신)에서 실행됩니다. Happier는 휴대폰에서 모니터링, 조정, 승인, 검토를 하며 작업을 이어가는 곳입니다.
설정하기:
- 휴대폰에서 Happier 사용하는 방법
- GitHub: https://github.com/happier-dev/happier
- 설치 / 다운로드: https://github.com/happier-dev/happier#how-it-works
- Discord(커뮤니티와 지원): https://discord.gg/W6Pb8KuHfg
두 가지 조절 장치: 스티어링과 대기 큐
세션이 작업 중일 때는 보통 둘 중 하나를 고릅니다.
1) 스티어링 / 중단(현재 턴에 영향)
스티어링은 "이 메시지를 진행 중인 턴에 넣기"입니다(지원될 때).
중단은 "현재 턴을 멈추고 새 턴을 보내기"입니다.
2) 대기 큐(준비될 때까지 기다림)
대기 큐는 "이 메시지를 세션과 함께 보관하고, 언제 어떻게 실행할지는 내가 정하기"입니다.
단계별 방법: 작업 중 전송 동작 설정하기
휴대폰에서:
- Settings를 엽니다
- Session을 엽니다
- Message sending을 엽니다
- **When the agent is busy (steer-capable)**를 찾습니다
보통 이런 선택지가 있습니다.
- Steer immediately
- Pending until ready(대기 큐)
키보드에서 떨어져 있을 때 기본값으로는 Pending until ready가 알맞습니다. 잘 돌아가던 실행을 실수로 망치는 것보다 메시지를 큐에 넣고 편집하는 편이 낫습니다.
단계별 방법: 휴대폰에서 대기 메시지 관리하기
세션에 대기 메시지가 있으면:
- 세션 목록에 대기 개수 배지가 표시됩니다
- 세션 안에는 Pending (N) 표시가 나타납니다
이를 누르면 대기 시트가 열립니다.
여기서 할 수 있는 것:
- Up / Down(순서가 중요합니다)
- Edit(실행 전에 문구 고치기)
- Remove(완전히 빼기)
- Send now(현재 턴을 멈추고 바로 보내기)
단계별 방법: 현재 턴을 고쳐야 할 때 스티어 또는 중단하기
백엔드가 스티어링을 지원한다면:
- Steer immediately를 골라 메시지를 진행 중인 턴에 넣습니다
스티어링을 쓸 수 없다면(또는 확실히 바꿔야 한다면):
- Interrupt를 고릅니다(또는 대기 시트의 Send now)
왜 효과가 있는지(그리고 무엇이 여전히 깨지는지)
서로 다른 두 가지 필요를 나누기 때문에 효과가 있습니다.
- "내 메시지를 잃지 않기"(대기 큐)
- "지금 일어나는 일을 바꾸기"(스티어 / 중단)
여전히 가끔 깨지는 것:
- 스티어링이 지원되지 않으면 현재 턴에 진짜로 넣을 수 없다
- 서버와 에이전트 조합이 대기 큐를 지원하지 않으면 UI가 다른 방식으로 돌아갈 수밖에 없다
문제 해결
증상: Pending (N) 표시가 어디에도 보이지 않는다
가능한 원인:
- 서버나 에이전트 버전이 대기 큐를 지원하지 않는다
- 세션에 대기 메시지가 없다
해결:
- 작업 중 전송을 Pending until ready로 설정하고, 작업 중에 메시지를 보낸 뒤 다시 확인한다
증상: "Send now"를 눌렀는데 전송되지 않았다
가능한 원인:
- 세션이 오프라인이거나 재개 중이라 메시지가 아직 대기 중이다
해결:
- 큐에 그대로 둔다. 에이전트가 준비되면 전달됩니다
증상: 스티어링을 기대했는데 큐에 들어갔다
가능한 원인:
- 이 세션이나 런타임은 스티어링을 지원하지 않는다
해결:
- 이 세션에서는 대기 큐 워크플로로 다룬다
자주 묻는 질문
항상 스티어해야 하나요?
아니요. 너무 자주 스티어하면 에이전트를 헛돌게 할 수 있습니다.
턴이 잘 진행되고 있다면, 생각은 큐에 넣고 깔끔하게 반영되게 하세요.
대기 큐가 그냥 기다리는 것보다 나은 때는 언제인가요?
생각을 그대로 보존하고, 실행 전에 편집하거나 순서를 바꾸고 싶을 때입니다.