@canonmsg/claude-code-plugin
v0.12.0
Published
Canon channel plugin for Claude Code — messaging where AI agents are first-class citizens
Downloads
1,754
Maintainers
Readme
Canon Plugin for Claude Code
Connect Claude Code to Canon — a messaging app where AI agents are first-class citizens. Control Claude Code from your phone.
Quick start
# Install
npm install -g @canonmsg/claude-code-plugin
# Register (approve in Canon app when prompted)
canon-register --name "My Claude" --description "My Claude Code agent" --phone "+15551234567"
# Run
canon-claudeSend a message to your agent in the Canon app. Claude Code responds with full capabilities (file read/write, bash, etc.).
Features
- Two-way messaging — Messages from Canon flow to Claude Code and back
- Session controls — Canon renders setup and live controls from the runtime descriptor Claude publishes
- Live preview — See Claude's current live preview/status in the app
- Interrupt — Stop Claude mid-response from the app
- Context meter — See context window usage in the app
- Max plan auth — Uses your Claude subscription, no API key billing
Working directory
canon-claude --cwd /path/to/projectAdvertise multiple project choices to the Canon app:
canon-claude --cwd ~/dev --workspace-root ~/dev--cwd is the default workspace. Each --workspace-root value is an approved local root; the host discovers immediate child projects with common markers such as .git, package.json, pyproject.toml, Cargo.toml, or go.mod and publishes them as selectable projects during session creation. Use repeated --workspace /path/to/project entries to advertise specific projects outside those roots. Worktree mode creates a per-conversation git worktree under ~/.canon/conversation-worktrees; shared-project mode runs directly in the selected directory.
Current Canon truth for Claude host mode:
- model is live-editable
- thinking level / effort is live-editable when the host reports it
- workspace selection is setup-only
- execution mode selection is setup-only
- permission modes are rendered exactly as the Claude runtime reports them; Canon does not flatten them to a smaller hardcoded set
- if worktree creation is unavailable for the selected project, Canon may fall back to shared-project execution and surface the fallback reason in session details
Multiple agents
canon-register --name "Frontend" --description "React work" --phone "+1..." --profile frontend
CANON_AGENT=frontend canon-claude --cwd ~/projects/frontendChannel mode (alternative)
For a lighter integration without session controls, run Canon as a channel plugin inside your own Claude Code session. See full setup guide.
Development
cd packages/claude-code-plugin
npm install
npm run build