Show HN: Claudraband – Claude Code for the Power User
TL;DR Highlight
Claudraband is a CLI/library tool that wraps Claude Code TUI, allowing you to maintain sessions and control it headlessly via an HTTP daemon or ACP server. It's worth paying attention to for developers who want to integrate Claude Code into automated workflows.
Who Should Read
Developers who want to leverage Claude Code in continuous session-based automation workflows rather than one-off commands. It's particularly useful for remotely controlling Claude Code in CI/CD or headless environments, or for integrating it with editor plugins.
Core Mechanics
- Claudraband wraps Claude Code's TUI (Terminal UI) with a controllable terminal, allowing you to maintain sessions and resume them later or inject prompts from outside.
- The core features are: resumable non-interactive workflows, remote/headless session control via an HTTP daemon, editor integration via an ACP (Agent Communication Protocol) server, and custom tool integration via a TypeScript library.
- The session resumption feature is key: you can send new prompts while maintaining the context of a previous Claude Code session using the format `cband continue <session-id> 'question'`. This is conceptually an addition of session support to the existing `claude -p`.
- It uses tmux as a backend for managing sessions locally. tmux must be installed to use the first-class workflow.
- It doesn't aim to replace the Claude Code SDK, but is a tool specialized for personal and ad-hoc use. It doesn't touch OAuth or bypass the Claude Code TUI, and always operates after authenticating with Claude Code through an actual Claude Code session.
- Installation is simple with npm/bun, and it bundles `@anthropic-ai/claude-code@2.1.96` within the package. You can override this version with the `CLAUDRABAND_CLAUDE_PATH` environment variable.
- It's currently in an Experimental stage and explicitly states that the project will continue to evolve as Claude Code and ACP clients change.
Evidence
- There was criticism that Claudraband exacerbates Anthropic lock-in due to its reliance solely on Claude Code. Opinions were raised that a more versatile tool supporting Gemini CLI, Codex, and OpenCode is needed.
- While some suggested that Claude Channels could simplify prompt injection and response extraction, limitations were pointed out, such as the need to use the terminal interface for commands like `/clear` due to a poorly designed architecture.
- Concerns were raised in the comments regarding potential conflicts with Anthropic's Terms of Service (ToS) when using subscription-based access. While it explicitly states it doesn't bypass the official TUI, the legality of automated usage remains unclear.
- There was a comment that the license wasn't specified in the README. While a MIT license file exists in the repo, it's not prominently displayed in the README, causing confusion.
How to Apply
- If you repeatedly perform code review or analysis tasks using Claude Code, you can start a session with `cband 'review the staged diff'` and continue subsequent work while maintaining the previous context with `cband continue <session-id> 'keep going'`. This is much more efficient than opening a new session each time.
- If you need to automate Claude Code in a headless server or CI environment, you can use the HTTP daemon mode. The daemon runs like a server, allowing you to control sessions via REST API calls for integration with scripts or other services.
- If you want to integrate Claude Code into your own editor plugin or development tool, you can use the ACP (Agent Communication Protocol) server functionality or directly import the TypeScript library to construct custom workflows in code.
- If you want to quickly test it out, you can run it directly without installation using `npx @halfwhey/claudraband 'review the staged diff'` or `bunx @halfwhey/claudraband '...'`.
Code Example
snippet
# One-off execution
npx @halfwhey/claudraband "review the staged diff"
bunx @halfwhey/claudraband "review the staged diff"
# Global installation
npm install -g @halfwhey/claudraband
# Start local session
cband "audit the last commit and tell me what looks risky"
# Check session list
cband sessions
# Resume session (maintain previous context)
cband continue <session-id> "keep going"
cband continue <session-id> --select 2
# Specify custom Claude Code binary path
export CLAUDRABAND_CLAUDE_PATH=/path/to/claude-codeTerminology
TUIAbbreviation for Terminal User Interface. An interface that is manipulated with a keyboard on a terminal screen instead of a GUI. Claude Code operates interactively in a terminal in this way.
ACPAbbreviation for Agent Communication Protocol. A protocol for AI agents to communicate with each other or with external clients (e.g., editors). Editor plugins can use this protocol to communicate with Claude Code.
headlessA mode of operation without a screen (display) or GUI. This is used when running programs automatically in situations where humans do not directly view them, such as in server or CI environments.
tmuxA terminal multiplexer. A tool that allows you to separate multiple sessions in a single terminal and maintain sessions even when an SSH connection is dropped. Claudraband uses this to maintain sessions.
daemonA process that runs constantly in the background and waits for requests. Claudraband's HTTP daemon acts like a server, allowing you to control Claude Code sessions via API calls from outside.
lock-inA situation where you become dependent on a specific vendor's (company's) technology and find it difficult to switch to other services. This was mentioned in criticism that Claudraband's support for only Claude Code makes it difficult to switch to other AI coding tools outside of Anthropic.