Releases: CanaryCoders/CanaryCodeCli
Releases · CanaryCoders/CanaryCodeCli
Release list
v0.3.1
Added
- Background shells. The
bashtool can now start long-lived commands such
as dev servers withrun_in_background: true. Background processes stay alive
across agent turns, retain combined stdout/stderr and exit status for polling
throughbash_output, and can be stopped withbash_kill. Any remaining
process group is terminated when the session closes.
v0.3.0
Added
- Interactive checkpointing. Claude Code sessions can now be checkpointed
and reseeded, letting you roll a conversation back to an earlier point and
continue from there. AskUserQuestionalias. The Claude Code loop recognizes the SDK's
AskUserQuestiontool, and the TUI now requires a doubleEscto dismiss a
prompt so a question is never closed by accident.- File-edit previews for SDK tools.
Write/Edit/MultiEditexecuted by
the Claude Agent SDK now produce a unified diff — reconstructed by snapshotting
the file before the write and diffing against disk — so the front-ends can
preview those changes just like canarycode's own edit tools.
Fixed
- Native CLI binary resolution under compiled installs. The Claude Agent
SDK's nativeclaudebinary is now resolved from canarycode's own module
graph and passed explicitly, fixing "Native CLI binary for
<platform>-<arch> not found" when running as a compiled/standalone
binary or after an--omit=optionalinstall.
v0.2.0
Added
- Claude Code provider.
canarycodecan now drive Anthropic's Claude Code
through the Claude Agent SDK, so a Claude subscription (not just a raw API
key) can power the agent loop. Select it like any other provider; see the
README's provider section for setup. - Provider-factory seam. Providers are now constructed through a single
factory, making it straightforward to add new backends (Claude Code is the
first to use it) without touching the core loop. - Provider-qualified model IDs. Model identifiers can be qualified by
provider (e.g.anthropic/…); the selected model is resolved and persisted
so it survives across sessions. - Ctrl+G opens your
$EDITOR. A new external-editor action drops the
current prompt into your configured editor and reads it back on save, with a
matching footer chip advertising the shortcut.
Fixed
- Clipboard copy now works over SSH. Copy actions fall back to an OSC 52
escape sequence, so copying from a remotecanarycodesession lands text on
your local clipboard.
v0.1.2
Fixed
install.shaborted with a 403 when resolving the latest release. The
installer looked up the newest tag through theapi.github.comREST endpoint,
which is rate-limited to 60 requests/hour per IP and returns HTTP 403 once
exhausted — leaving a freshcurl … | shto fail with "could not resolve the
latest release tag". It now resolves the tag from the un-rate-limited
github.com/…/releases/latestredirect, with the REST API kept as a fallback.- Fresh-install "no API key" error now says where to put the key. Running
canarycodewith no key configured printed a bare "anthropic provider requires
an apiKey" with no next step. The message now spells out both options — the
recommended CanaryLLM path (CANARYLLM_API_KEY=clk…) and raw Anthropic
(ANTHROPIC_API_KEY) — and points at~/.canarycode/config.json. The README
gains a matching "First run" section.
v0.1.1
Fixed
- Nix flake installed a corrupted binary. The flake's package (used by
nix runand the Home Manager module) ran the prebuilt release binary through
autoPatchelfHookand stdenv's defaultstrip. The release binary is a Bun
single-file executable — the app is an appended payload Bun locates via a
baked-in byte offset — so rewriting it shifted that payload and the binary
degraded to the bare Bun CLI (canarycodejust printed the Bun version). The
flake now installs the binary byte-for-byte unmodified and runs it inside an
FHS env on Linux. Theinstall.shand GitHub-release binaries were never
affected — only the Nix install path was. The release workflow also now pins
Bun for reproducible builds. No source changes.
v0.1.0
First public release.
Highlights
- Interactive TUI built on OpenTUI + React: scrollable transcript with
mouse support, text selection, keyboard navigation mode, copy commands,
themed cards, markdown rendering with syntax highlighting, and a help
overlay. - Headless print mode (
canarycode -p "<prompt>") for scripting, with--json
JSONL event streaming and stdin folded into the prompt as context. - Providers: Anthropic-compatible and OpenAI-compatible APIs, CanaryLLM,
OpenAI Codex (ChatGPT subscription) login, and OpenCode Zen models. - Modes: read-only plan mode, autonomous auto mode, and extended thinking
levels (/think off|think|think-hard|ultrathink). - Extensions: web search, skills, custom agents and sub-agents, MCP
servers, lifecycle hooks, a permission engine with an optional AI safety
checker, and user extensions loaded from~/.canarycode/extensions/. - Sessions: SQLite-backed persistence with
--resume/--continue, an
interactive session picker, and mid-turn input queueing. - Project context:
CANARYCODE.md/AGENTS.md/CLAUDE.mdfiles are prepended to
the system prompt;/initgenerates a starter file. - Self-update:
canarycode update//updatedownloads, checksum-verifies, and
atomically swaps the release binary; a background check surfaces new
versions at startup, and/changelogshows what changed. - Install anywhere:
install.shfor prebuilt binaries, or Nix flake with
a Home Manager module.