Skip to content

samagotchi 0.67.0

Choose a tag to compare

@github-actions github-actions released this 14 Oct 11:35
· 440 commits to main since this release

Added

  • Desktop helper: agents in tmux panes: with tmux.enabled: true (then chi update) the panel lists agent CLIs
    running in tmux panes, in any terminal, beside kitty's, and pastes into them with or without Enter (a pane in copy
    mode is taken out of it first). tmux.binary defaults to the tmux on chi's PATH when the launch file is written;
    chi update warns when there is none. ChiHelper --kitty is now --agents (the helper's internal seam). See
    docs/desktop.md, "Agents in kitty and tmux".
  • Continue on another model: chi send --new --continues ID --model NAME and the web API's POST /api/sessions
    with continues and model start the next link of a chain on that model (its host checked first, nothing
    archived on a refusal). See docs/sessions.md, "Session chains".
  • Host API keys from the macOS Keychain: with the variable a host's api_key_env: names unset, chi reads the key
    from the login Keychain (service chi, account the variable's name), so the desktop helper's sessions and model
    list, launchd and cron reach keyed hosts. Store a key with security add-generic-password -s chi -a VAR -w.
    chi self says VAR (keychain), chi desktop status has a host keys row, and install/upgrade warn about keys
    the helper won't get. SAMAGOTCHI_KEYCHAIN=off turns it off. See docs/configuration.md, "API keys from the Keychain".
  • The peer loop: chi and a paired Claude Code or Codex session can go back and forth on a part. A peer's answer
    wakes chi up to context.peer_turns (default 3) turns in a row, within session.max_wakes; chi fixes what it
    flagged or replies with claude_send/codex_send; an answer whose verdict is VERDICT OK arrives as a note and
    ends the round; only a message typed in the web or a TUI starts the count again (not chi send). The wake note
    frames the answer as the peer's advice, within your task; every other source keeps its guard line. Plugins
    declare a peer's source with chi.peer_source. See docs/context.md, "Peer sources: the peer loop".

Changed

  • claude-peer 0.3.0 and codex-peer 0.2.0 join the peer loop and need chi 0.67.0 (chi update, then chi bundle upgrade claude-peer / codex-peer, and /claude install-skill / /codex install-skill again for the peer's
    side). Both are now built on Samagotchi::Plugin::Peer, one shared base; their texts are unchanged but for the
    peer loop's.
  • session.max_wakes caps every wake turn in a row (delegate reports, attached context, peers); the docs said
    delegate reports only.
  • MCP: find_mcp_tools and mcp_call are now find_tools and call_tool, chi's own tool index's (the mcp
    bundle publishes its servers' tools into it: chi.tool_source, docs/plugins.md). Run chi bundle upgrade mcp
    (mcp 0.7.0) to get it; an older mcp bundle keeps its own two tools on this chi. Search, calls, lazy starts and
    /mcp work as before. Rename tool: mcp_call in guardrail rules and hooks, and mcp_call in loop-guard's or
    check-in's ignore_tools in config.yml, to call_tool; rules on mcp_* keep working (they match the MCP
    tool). Approvals saved for MCP tools (keyed mcp_call>…) no longer match: each MCP tool is asked about once
    more. The two tools' new names and place in the tool list re-prefill an MCP user's prompt once.
  • A continue whose previous link's model names a host config.yml no longer has (or a disabled one) starts the new
    link on the default model with a warning (chi send: warning: …, the API's model_warning) instead of being
    refused.

Fixed

  • Web: a session opened (or switched to) shows its live worker's features at once: the queue link on the delivery
    line, the task-stop button, Alt+Enter's queue and the stale-worker badge with Restart no longer wait for the
    session's next change.
  • Web: a switch starts the open session's page state over: a "copied ✓" on the info bar no longer carries into the
    next session, a Restart under way in one session no longer blocks Restart in another, and a worker woken after a
    failed load streams from its start, not from the previous session's cursor.
  • Web: a send stays with the session it was sent from: switching sessions while its images upload no longer sends the
    prompt into the other session, and an image whose send failed in one session is uploaded again when it is sent to
    another (it was refused there as an unknown image).

Update with chi update (it upgrades the bundles too): mcp 0.7.0, claude-peer 0.3.0, codex-peer 0.2.0 and the
system bundle 0.67.0. Then restart chi web and run chi desktop upgrade for the tmux support.