Agent Bus — Development skill for Claude Code
Persistent Claude Code session daemon — expose an authenticated claude CLI over an SSH-tunnel-reachable HTTP endpoint.
How to install Agent Bus
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open nooma-stack/agent-bus and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Agent Bus does
Persistent Claude Code session daemon — expose an authenticated claude CLI over an SSH-tunnel-reachable HTTP endpoint.
Alternatives in Development
- CORS — Scan an endpoint for CORS misconfiguration — arbitrary-origin reflection, null-origin trust, credential exposu 4.5k ★
- Claude Supermemory — Persistent memory across sessions and projects using Supermemory 2.3k ★
- Alethe Agents — A local-first desktop workspace for running, organizing, and resuming multiple coding agents and shells with r 511 ★
README
agent-bus
Persistent Claude Code session daemon — exposes a running, authenticated `claude` CLI as a local HTTP endpoint so remote clients (other agents, automation scripts, IDE plugins on other machines) can drive it through an SSH tunnel without re-authing each call.
What it is
- Small FastAPI daemon, one Python file (~200 lines).
- Token-authenticated — first launch generates a 256-bit bearer
token at
~/.agent-bus/token. - Loopback-bound — listens on
127.0.0.1:18900. Access beyond the host is expected to go over SSH tunnel, not open network exposure. - Keychain-inheriting — must be launched from a GUI-authenticated
session (or a LaunchAgent gated on
Aquasession type). That's how it gets access to Claude Code's OAuth token. - Session-preserving — routes each prompt to
claude -p --session-id --output-format json, so multiple calls with the samesession_idshare conversation context.
What it isn't
- Not a multi-user server (v1 is for a single operator's Claude Code).
- Not a proxy for API-key-based billing (it uses the Claude subscription the CLI is logged into).
- Not yet a streaming interface — v1 is synchronous request/response.
Install (macOS)
git clone https://github.com/nooma-stack/agent-bus.git ~/agent-bus
cd ~/agent-bus
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
Run (manual, foreground)
From a **Mac Studio / Mac mini Terminal window on the console**, not over SSH — the daemon needs keychain access:
cd ~/agent-bus
.venv/bin/python daemon.py
On first start the daemon writes a bearer token to `~/.agent-bus/token` (mode 0600). Output will include the path.
Run (LaunchAgent)
For always-on use, install the LaunchAgent template:
mkdir -p ~/Library/LaunchAgents
sed -e "s|PLACEHOLDER_HOME|$HOME|g" \
-e "s|PLACEHOLDER_PYTHON|$HOME/agent-bus/.venv/bin/python|g" \
com.nooma.agent-bus.plist.template \
> ~/Library/LaunchAgents/com.nooma.age
Related Skills
Claustrum
A tiny, dependency-light Go daemon that hosts a remote Claude Code session over SSH: CLI-version manager + pro
Ac Connect
Open or check the MFA-authenticated SSH session to an Alliance Canada cluster
Paseo Daemon
paseo multi-session monitoring and three-account dynamic scheduling control plane — bootstrap of a persistent
Pilion Browser
Desktop browser for ACP agents: connect Claude Code, Codex, Gemini CLI, OpenCode, Pi or Grok Build, locally or
Clipfan
Clipboard sync daemon for Mac + remote tmux fleet. Mirrors macOS pasteboard to remote OS clipboards and tmux p
Tty7
A terminal workbench in pure Rust: shells, persistent sessions, SSH, coding agents. GPU-rendered on Zed's gpui
Related Agents
Webvuln Surface
Builds the TESTABLE request surface for the active web-vuln tier from an ingested program. Merges the passive
Launcher
Build the Mac daemon and iOS app, launch both (daemon on host, app in Simulator), and seed the dev endpoint to
Web Searcher
Internet research agent with search, page fetch, authenticated gh CLI (GitHub issues/PRs/releases/API), and fu