claude_agent
Launches Claude Code's interactive agent TUI in a persistent terminal for continued input, shared settings, and non-blocking delegated work.
Instructions
【旧互換alias。新規連携は agent_launch(harness=claude-code)】Claude Codeの対話エージェントTUIを永続端末に起動する。claude -pではなく、同じ利用者可視sessionへpty_sendで継続入力する。通常CLIと同じHOME・cwd・project/user/local設定・MCP・plugin・skill・permission/trustを共有する。aitermは完了相関stateだけをlaunch単位で所有する。起動されたagentにはsub-agent自己認識、親session、delegation depth/lineage、delegation_allowed=trueを注入し、必要な追加委譲は許可する。別のcomputer(登録済みの端末)で起こす時は、この起動にterminal(端末の登録元が渡す値をそのまま)とcwd(その端末のproject folder)を付ける。ここで起こしてからcd・sshしない。秘密の値はどの引数・prompt・送信文にも書かず、env_varsに名前だけを書く。通常settingsへlaunch固有Stop hook settingsを加算する。起動前に共有認証を構造化確認し、未認証ならsessionを作らない。dispatch した子は投げっぱなしでよい=親はここで待たない。Codex親とClaude Code親にはAitermが回答本文を自動配送する。parent_deliveryがある場合はwait起動も通常の回答回収も不要。親は作業を続けるかターンを終える。Cursor親にはparent_deliveryとwait_processが付く。作業を続ければ次のツール返りに回答が差し込まれ、ターンを終える前にwait_processを背景で起動するとidle中の完了でも起きられる。ポーリングとpty_read(agent_transcript:true)は不要。その他の親では、完了通知をreceiptの wait_process.executable と wait_process.args をそのまま親のターンを塞がない別プロセスAPIへ渡して受け、PowerShell 7のStart-Processだけは windows_start_process_argument_list を単一文字列として渡す。exit を完了通知として扱う(exit 0=done / 3=timeout(既定600秒・未完了) / 4=closed / 7=error(harnessの記録でturnがAPIエラー等で打ち切られた。結果は無い)。receiptのoutcomeが正で、done以外は未完了。ポーリング不要)。wait_command は人間向け互換表示でありprocess境界へ使わない。foreground実行で親のターンを塞がない。自動配送以外の結果回収は pty_read(agent_transcript:true)。Claude の durable turn は claude_turn でも回収できる。
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "claude_agent"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No | 作業ディレクトリ(対象リポのルート等・任意)。terminalを付ける時は必須で、その端末上のproject folderの絶対パス | |
| fast | No | ファスト(harnessの高速の応答。費用や利用量が増える)。省略とfalseは通常の速度で起こす(利用者の設定にfastが残っていても通常)。trueは通常で起こしてから、その席をfastへ切り替える。modelがfastに対応していない時(FAST_MODE_NOT_SUPPORTED)と、modelへfast版のIDを書いてfalseを渡した時(FAST_MODE_MODEL_CONFLICT)は起動を断る。アカウントの都合で使えない時・確かめられない時は、起動を断らずに通常の速度で起こし、返りの fast を false、fast_error に訳を入れる。modelへfast版のIDを直に書いて省略した時だけ、そのIDのまま起こす(返りの fast は true)。 | |
| model | No | 起動モデル(例: claude-sonnet-4-6)。省略時はClaude CLI既定 | |
| prompt | No | 起動時に渡す初手プロンプト(任意)。送信後は待たずに即返る | |
| env_vars | No | 起動したagentへ現在のMCP processから継承する環境変数名。値はtool引数へ渡さない | |
| terminal | No | Run this seat on another computer (a registered terminal) over SSH. Value: exactly the terminal value your host system's terminal registry hands over, {ref, target:{host,user,port}, trustRevision, and credentialRevision or credential {handle, revision}}; copy it unchanged, never invent or edit it, never use a host name or ssh command instead. Omit it to launch on this computer. Give cwd in the same call: the absolute project folder on that terminal. Never launch locally and then cd or ssh. Never put tokens, passwords or other secrets in any argument, prompt or typed text; pass secret values only by name in env_vars. After launch, use session_id alone for pty_send, pty_observe, pty_read, pty_key, claude_turn, agent_stop and pty_close; Aiterm routes them to the terminal. Errors and next step: TERMINAL_INVALID = malformed value, missing/relative cwd, or combined with remote: pass the registry's value unchanged with cwd. TARGET_MISMATCH / BINDING_UNKNOWN = the value is not this terminal's binding: ask the terminal registry again. HOST_TRUST_STALE / CREDENTIAL_REVISION_STALE = the binding changed: get the current value from the terminal registry and launch again. HOST_KEY_MISMATCH / HOST_TRUST_MISSING = the terminal's host key is not the trusted one: the Owner must confirm the new host key; do not retry. CREDENTIAL_REQUIRED / CREDENTIAL_NOT_LOADED = this terminal's key comes from a credential handle that the registry must load first; never paste a key anywhere. AUTH_FAILED = the terminal refused the key. UNREACHABLE = the terminal is offline; try later. CONNECTION_REFUSED = the terminal refused the SSH connection (SSH may be off there); try later. REMOTE_AITERM_TOO_OLD = update Aiterm on the terminal. CWD_UNAVAILABLE = the folder does not exist there; do not pick another folder. SEAT_FORWARD_UNAVAILABLE = the seat's MCP route back to this computer is not ready (launch again later), or the seat MCP URLs are not http://127.0.0.1:<one port>/api/seat-mcp. TERMINAL_HARNESS_UNSUPPORTED = use harness claude-code. | |
| mcp_config | No | Extra MCP servers for this seat; write secrets as ${ENV} names given in env_vars | |
| session_name | No | セッション名(省略で自動採番) | |
| trust_project | No | 対象projectを信頼し、既知のworkspace・project hooks・MCP初期同意を起動中に進める | |
| reasoning_effort | No | Claude Code reasoning effort。low/medium/high/xhigh/max。省略時はCLI既定 | |
| configuration_root | No | Claude Codeの設定root(CLAUDE_CONFIG_DIR)の絶対パス。既定のroot(~/.claude、CLAUDE_CONFIG_DIRなし)か、AITERM_CLAUDE_CONFIG_ROOTSに並べた親の直下だけ。他はAGENT_CONFIGURATION_ROOT_REJECTED。休止席の再開では、新しいrootに同じ会話の記録がある時だけ替えられる | |
| launch_operation_id | No | promptなしClaude launchのexact replay相関ID。session_name必須 | |
| append_system_prompt | No | Launch instructions added to the system prompt; kept in Aiterm state, not in the project or home | |
| throughline_source_session | No | 同一端末のThroughline sessionから所有権を変えずに記憶を読み、promptのmissionより前へ注入する | |
| throughline_supplement_file | No | Throughline 0.10.8以降へそのまま渡すproject束縛済み長期記憶・知識の補足JSON path |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| fast | No | 起こした後の、席のfastの状態 | |
| schema | Yes | ||
| harness | Yes | ||
| startup | Yes | ||
| input_id | No | ||
| provider | Yes | ||
| fast_error | No | fastを頼まれたが、通常の速度で起こした時の訳 | |
| session_id | Yes | ||
| event_cursor | Yes | ||
| wait_command | Yes | ||
| wait_process | Yes | ||
| initial_prompt | Yes | ||
| submit_residue | Yes | ||
| parent_delivery | No | ||
| managed_completion | Yes | 後方互換field。trueはaiterm完了相関が有効という意味で、project/user環境の隔離を意味しない |