[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-1260":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":15,"stars30d":16,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":17,"rankGlobal":9,"rankLanguage":9,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":19,"hasPages":19,"topics":21,"createdAt":9,"pushedAt":9,"updatedAt":22,"readmeContent":23,"aiSummary":24,"trendingCount":15,"starSnapshotCount":15,"syncStatus":25,"lastSyncTime":26,"discoverSource":27},1260,"claudraband","halfwhey\u002Fclaudraband","halfwhey","Claude Code for the Power User",null,"TypeScript",282,14,279,1,0,3,3.53,"MIT License",false,"master",[],"2026-06-12 02:00:25","\u003Cdiv align=\"center\">\n\n# Claudraband\n\nClaude Code for the power user\n\n[![Claude Code](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdynamic\u002Fjson?url=https%3A%2F%2Fraw.githubusercontent.com%2Fhalfwhey%2Fclaudraband%2Fmaster%2Fpackages%2Fclaudraband-core%2Fpackage.json&query=%24.dependencies%5B%22%40anthropic-ai%2Fclaude-code%22%5D&label=claude-code&color=blue)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@anthropic-ai\u002Fclaude-code)\n\n> Experimental: this project is still evolving as Claude Code and ACP clients change.\n\n[CLI](docs\u002Fcli.md) •\n[Library](docs\u002Flibrary.md) •\n[Daemon API](docs\u002Fdaemon-api.md) •\n[Docker](docs\u002Fdocker.md) •\n[Examples](examples\u002F)\n\n\u003C\u002Fdiv>\n\n`claudraband` wraps the official Claude Code TUI in a controlled terminal so you can keep sessions alive, resume them later, answer pending prompts, expose them through a daemon, or drive them through ACP.\n\nIt provides:\n\n- Resumable non-interactive workflows. Essentially `claude -p` with session support: `cband prompt --session \u003Csession-id> 'what was the result of the research?'`\n- An HTTP daemon for remote or headless session control\n- An ACP server for editor and alternate frontend integration\n- A TypeScript library for building these workflows into your own tools\n\nCaveats\n\n- This is not a replacement for the Claude SDK. It is geared toward personal, ad-hoc usage.\n- We do not touch OAuth and we do not bypass the Claude Code TUI. You must authenticate through Claude Code, and every interaction runs through a real Claude Code session.\n\n\n## Setup\n\nRequirements:\n\n- Node.js or Bun\n- An already authenticated Claude Code\n- `tmux` for the first-class local and daemon-backed workflow\n\nInstall or run:\n\n```sh\n# one-off\nnpx @halfwhey\u002Fclaudraband \"review the staged diff\"\nbunx @halfwhey\u002Fclaudraband \"review the staged diff\"\n\n# install once\nnpm install -g @halfwhey\u002Fclaudraband\n```\n\nThe package installs both `claudraband` and `cband`. `cband` is the recommended shorthand. The package bundles Claude Code `@anthropic-ai\u002Fclaude-code@2.1.96`; set `CLAUDRABAND_CLAUDE_PATH` if you need to override the binary.\n\nDocker:\n\n```sh\nmkdir -p \"$PWD\u002Fclaude-account\"\n\n# one-time onboarding for the mounted Claude account bundle\ndocker run --rm -it \\\n  -v \"$PWD\u002Fclaude-account:\u002Fclaude-account\" \\\n  ghcr.io\u002Fhalfwhey\u002Fclaudraband:latest claude\n\n# start the daemon with the same mounted account bundle\ndocker run --rm -d --name claudraband \\\n  -p 7842:7842 \\\n  -v \"$PWD\u002Fclaude-account:\u002Fclaude-account\" \\\n  ghcr.io\u002Fhalfwhey\u002Fclaudraband:latest serve\n\ncband --connect localhost:7842 \"hello from docker\"\n```\n\nIf Claude starts on a native startup permission prompt, answer it with `cband prompt --session \u003Csession-id> --select \u003Coption>`. For more container details, see [docs\u002Fdocker.md](docs\u002Fdocker.md).\n\n## Quick Start\n\nThe two first-class paths are local `tmux` sessions and daemon-backed sessions.\n\n### Local persistent sessions\n\n```sh\ncband \"audit the last commit and tell me what looks risky\"\ncband sessions\ncband prompt --session \u003Csession-id> \"keep going\"\ncband prompt --session \u003Csession-id> --select 2\ncband watch --session \u003Csession-id>\ncband interrupt --session \u003Csession-id>\n```\n\n### Daemon-backed sessions\n\n```sh\ncband serve --host 127.0.0.1 --port 7842\ncband --connect localhost:7842 \"start a migration plan\"\ncband attach \u003Csession-id>\ncband prompt --session \u003Csession-id> --select 2\n```\n\nThe daemon defaults to using `tmux` as the terminal runtime, just like the local path. Use `--connect` only when creating a new daemon-backed session; after that, `prompt`, `send`, `watch`, `interrupt`, `attach`, and `sessions` route through the recorded live owner automatically.\n\n## Experimental xterm.js Backend\n\n`--backend xterm` exists for local or daemon use, but it is experimental and slower than `tmux`. Use it when you need a headless fallback, not as the default path for long-lived interactive work. See [docs\u002Fcli.md](docs\u002Fcli.md) for current caveats and backend behavior.\n\n## ACP\n\nUse ACP when another tool wants to drive Claude through `claudraband`.\n\n```sh\ncband acp --model opus\n\n# example: toad\nuvx --from batrachian-toad toad acp 'cband acp -c \"--model haiku\"'\n```\n\nEditor and ACP client support varies by frontend, but `claudraband` itself supports session follow and resume through ACP.\n\n## Session Model\n\nLive sessions are tracked in `~\u002F.claudraband\u002F`.\n\n- `cband sessions` lists live tracked sessions\n- `prompt --session \u003Cid>` and `send --session \u003Cid>` auto-resume a saved session, even when it is no longer live\n- `watch`, `interrupt`, `status`, `last` target a session by id\n- `attach` only works on live sessions\n- `sessions close ...` closes live tracked sessions, either local or daemon-backed\n\n## Examples\n\n### Self-interrogation\n\nClaude can interrogate an older Claude session and justify the choices it made.\n\n![Claude interrogating an older Claude session through claudraband](assets\u002Fself-interrogate.png)\n\n### Toad via ACP\n\nToad can use `claudraband acp` as an alternative frontend for Claude Code.\n\n![Toad using claudraband ACP as an alternative frontend](assets\u002Ftoad-acp.png)\n\nThat UI is still backed by a real Claude Code pane underneath.\n\n![Backing Claude Code pane for the Toad ACP session](assets\u002Ftoad-claude-pane.png)\n\n### Zed via ACP\n\nZed can also use `claudraband acp` as an alternative frontend.\n\n![Zed using claudraband ACP as an alternative frontend](assets\u002Fzed-acp.png)\n\n## Library\n\nRunnable TypeScript examples live in [`examples\u002F`](examples\u002F):\n\n- [`examples\u002Fcode-review.ts`](examples\u002Fcode-review.ts)\n- [`examples\u002Fmulti-session.ts`](examples\u002Fmulti-session.ts)\n- [`examples\u002Fsession-journal.ts`](examples\u002Fsession-journal.ts)\n\nFor the full API, see [docs\u002Flibrary.md](docs\u002Flibrary.md). For CLI details, see [docs\u002Fcli.md](docs\u002Fcli.md). For raw daemon endpoints, see [docs\u002Fdaemon-api.md](docs\u002Fdaemon-api.md).\n\n## Cheat Sheet\n\n```sh\n# install or run once\nnpx @halfwhey\u002Fclaudraband \"review the staged diff\"\nbunx @halfwhey\u002Fclaudraband \"review the staged diff\"\nnpm install -g @halfwhey\u002Fclaudraband\n\n# local persistent sessions\ncband \"audit the last commit\"\ncband sessions\ncband sessions close --all # close all claudraband controlled sessions\ncband prompt --session \u003Csession-id> \"keep going\"\ncband send --session \u003Csession-id> \"fire and forget\"\ncband watch --session \u003Csession-id>\ncband interrupt --session \u003Csession-id>\ncband status --session \u003Csession-id>\ncband last --session \u003Csession-id>\n\n# answer pending prompts\ncband prompt --session \u003Csession-id> --select 2\ncband prompt --session \u003Csession-id> --select 3 \"xyz\"\n\n# daemon mode\ncband serve --host 127.0.0.1 --port 7842\ncband --connect localhost:7842 \"start a migration plan\"\ncband attach \u003Csession-id>\n\n# ACP\ncband acp --model opus\n```\n","Claudraband 是一个为高级用户设计的 Claude Code 工具包，旨在通过控制终端保持会话活跃、恢复会话、回答待处理提示、通过守护进程暴露会话或通过 ACP 驱动。该项目使用 TypeScript 编写，支持可恢复的非交互式工作流、HTTP 守护进程以实现远程或无头会话控制、ACP 服务器用于编辑器和替代前端集成以及一个 TypeScript 库方便用户将这些功能集成到自己的工具中。它适用于需要持久化会话管理及远程操作 Claude Code 的个人或临时场景，并且要求用户已经通过官方途径完成认证。注意，Claudraband 并不是 Claude SDK 的替代品，而是为了满足个人即兴使用需求而设计的。",2,"2026-06-11 02:42:38","CREATED_QUERY"]