Skip to main content
Nasiko treats Claude Code as a coding harness. Discovery and session reporting use Claude Code’s own hooks. Model routing uses Claude Code’s own apiKeyHelper and ANTHROPIC_BASE_URL. No wrapper, no SDK in your code.

Discover and report

Install writes a Stop command hook into ~/.claude/settings.json and a launcher under ~/.claude/. Existing hooks stay. Uninstall removes only the Nasiko entries. Session reporting always uses ~/.claude, even when $CLAUDE_CONFIG_DIR is set. After install, use claude the way you always do. Each completed turn is queued under ~/.nasiko/integrations/queue/ and delivered in the background. See Session reporting.

Route models

connect claude edits ~/.claude/settings.json:
  • apiKeyHelper runs nasiko __claude-token, which mints a one-hour JWT from your cluster.
  • env.ANTHROPIC_BASE_URL points at the cluster. Claude Code keeps sending Anthropic-format /v1/messages requests; Nasiko translates and routes them.
Claude Code sends the JWT as x-api-key. The router accepts that header and Authorization: Bearer. Connection state is stored in ~/.nasiko/integrations/claude.json.
~/.claude/settings.json is per-user and global. Connecting Claude Code affects every claude process on the machine.
If routing is configured under $CLAUDE_CONFIG_DIR, that directory is what connect and disconnect edit. Reporting still uses ~/.claude.

One-shot, no settings change

Environment is injected for that process only. --agent is required.

Disconnect and uninstall

The two are independent. Disconnecting leaves reporting in place.

Identity in Nasiko

Registration creates a coding-agent identity named <username>-claude-code, labelled Claude Code (<your email>) in the dashboard. Reported sessions and routed calls are both attributed to it.

Troubleshooting

More: Troubleshooting and Route models.