Skip to content

overcode 0.3.5

Choose a tag to compare

@mkb23 mkb23 released this 02 Apr 00:07
· 245 commits to main since this release
554056f

New Features

  • overcode restart : New CLI command for headless agent restart, useful when MCP server configs change.
  • overcode jobs tail : Stream a job's output to stdout without needing a TTY. Supports --lines N for a snapshot and --follow (default) to stream until completion.
  • Anthropic Messages API summarizer: The AI summarizer now supports Anthropic as a backend alongside OpenAI. Configure with summarizer.api_type: anthropic in config.yaml.

Improvements

  • Permission request status (orange): PermissionRequest hook events now map to STATUS_WAITING_APPROVAL (orange) instead of STATUS_WAITING_USER (red), distinguishing auto-approvable permission prompts from situations that need human input.
  • Daemon skill rewrite: Replaced the verbose 183-line daemon skill with a streamlined ~70-line version that eliminates redundant discovery steps. The daemon no longer wastes an API round-trip running overcode list when the session list is already in its context.
  • Per-agent API provider selection: Launch agents with --provider bedrock (or -P bedrock) for AWS Bedrock, with the rock emoji (🪨) in the TUI provider column.

Bug Fixes

  • Daemon completion detection: Fixed false positives in check_daemon_output_completion() where status bar separators (·) caused every daemon run to hit the 300s timeout instead of detecting completion in ~40s.
  • TUI/CLI/web restart: Shift+R restart and the web API restart only sent Ctrl-C, which cancels the in-flight tool but doesn't exit Claude Code. The relaunch command was silently typed into Claude's prompt. All restart paths now send Ctrl-C followed by /exit.
  • Hook detection after manual restart: When resuming a session with --session-id, the hook handler silently failed because OVERCODE_SESSION_NAME/OVERCODE_TMUX_SESSION env vars were missing. Added a tmux pane fallback to recover the agent name.
  • Startup dialog hangs: Programmatically launched agents could hang indefinitely on Claude Code's "trust this folder" or permissions confirmation dialogs. Both the launcher and supervisor daemon now detect and dismiss these automatically.
  • overcode bash terminal error: Running overcode bash from inside an agent failed with "open terminal failed: not a terminal" because it tried to attach to the tmux window without a TTY.
  • Heartbeat disable via API: The web control API rejected heartbeat disable requests because it validated frequency before checking the enabled flag.
  • Fork inherits provider: Forked agents lost their bedrock configuration because launch_fork() didn't pass model or provider from the source session.
  • Provider column for remote agents: The bedrock provider indicator wasn't showing for sister agents because the provider field was missing from the daemon state, web API, and sister poller pipeline.
  • Zero tokens on mismatched session paths: Agents showed $0.00 cost when Claude Code stored session files under a different project root than the launch directory, or when --session-id wasn't honored. Now falls back to history-based path discovery and scans for all unowned session IDs.