Claude Code
How Kettu runs your own Claude Code through the Claude Agent SDK, signs it in, and shows its models, plan limits and prompt cache.
Kettu drives Claude Code through the Claude Agent SDK, @anthropic-ai/claude-agent-sdk. The first time you use Claude Code, Kettu installs the SDK into its own data folder with your npm, leaving out the copy of Claude Code the SDK would bring. The SDK then runs your own claude, so Node.js is needed only for that install.
Your claude is the one on PATH, or the program CLAUDE_CODE_EXECUTABLE names if your environment sets it. It uses its own folder, shared with the claude you run in a terminal, so your sign-in, settings, CLAUDE.md, MCP servers and permission rules stay the same.
Install Claude Code
If claude is not found, open Settings › Harnesses › Claude Code and click Install…. Pick one of Anthropic’s ways: the official install script (recommended), Homebrew, WinGet on Windows, or npm. Kettu shows the command, then runs it.
Sign in
Open Settings › Agents › Claude Code and click Sign in in terminal. Kettu runs Claude Code’s own sign-in in its terminal:
| Method | Command |
|---|---|
| Claude Subscription | claude auth login --claudeai |
| Anthropic Console, billed by API usage | claude auth login --console |
To use a key instead, click Set… on the API key row and fill in Base URL (empty for Anthropic, or your gateway’s address), API key and, optionally, Model. Claude Code keeps the key in the settings.json of the agent’s folder, and Kettu keeps no copy. For a second account, such as a company key beside your subscription, click Add agent in Settings › Agents: it gets a configuration folder of its own.
In a session
The composer offers what Claude Code reports for the session:
- Mode: Manual, Accept edits, Plan, Auto, and Bypass permissions where Claude Code allows it.
- Model, with older versions under More models.
- Effort, the levels the model supports, and Fast mode on models that have it.
Claude Code’s slash commands are in the composer too. Always allow saves its rule where you pick: user settings, .claude/settings.json or .claude/settings.local.json, or for this session only.
Plan limits
Claude Code reports your plan’s limits, such as the 5-hour and weekly ones. The agent menu shows the tightest one beside Claude Code, Settings › Agents › Claude Code shows each under Plan usage with the time it resets, and the composer says when a limit is reached.
Prompt cache
Kettu reads from Claude Code’s own transcript whether the last request kept a 5-minute or a 1-hour cache. Between turns the session’s top bar shows Cache and the time left; click it to see how many tokens the next message reads again at full price if the cache expires. In the sidebar, a ring replaces the session’s mark in the cache’s last minute, or last five minutes for a 1-hour cache.
When your Claude Code is too old
Each SDK version runs only with the Claude Code version it was built for, or a newer one. With an older claude, Claude Code leaves the agent menu, and Settings › Harnesses › Claude Code warns that your version is older than Kettu needs.
There, click Update to followed by the version. Kettu updates Claude Code the way you installed it, for example with claude update after the official script or brew upgrade --cask claude-code after Homebrew, and shows the command so you can run it yourself instead. The SDK moves to the matching version with it. SDK updates stay within its 0.x minor version, and one that needs a newer Claude Code waits until you update Claude Code.