Every released version of Cheesedanish, newest first. Run cheesedanish --version to see which release you have, and cheesedanish update to move to the current one.
0.7.4 — 14 October 2026
- Added EL 8 and EL 10 support, tested on Rocky Linux 8.10 and 10.2 with their shipped shell and utilities.
0.7.3 — 13 October 2026
- Added OpenBSD support, tested with its native shell and awk.
- Fixed session and OAuth Base64 encoding with MIME-style CRLF output, as used by OpenBSD’s Base64 package.
- Use portable byte reads for binary detection, instructions, skills, tool-output limits, and goal evidence on systems whose
headlacks-c.
0.7.2 — 13 October 2026
- Added
/compactand automatic conversation compaction across providers, terminal, print, and ACP modes. - Discover context limits from the selected provider, falling back to matching model names on OpenRouter, on the first request after selection. Model and provider switches stay local.
- Preserve full saved history while sending summaries and recent context to the model. Compaction usage counts toward session and goal budgets.
- Added context-limit overrides, automatic compaction settings, and context information in
/status.
0.7.1 — 13 October 2026
- Added Agent Skills discovery from shared and existing agent skill directories, including symlinked and nested skills.
- Models receive a skill catalog and load instructions and supporting files as needed.
- Added
/skills,/skill <name> [task], project precedence, reload support, and additional skill roots throughCHEESEDANISH_SKILL_PATHS. - Skills work in terminal, print, and ACP modes across all providers.
0.7.0 — 12 October 2026
- Added
/goalfor autonomous work across rounds, with independent planning, evaluation, and completion verification. - Added persistent goal status, pause, resume, clear, optional token budgets, and saved verification evidence.
- Goals work in terminal, print, and ACP modes and remain interruptible.
- Fixed intermittent Ctrl-C handling at the Bash prompt.
0.6.9 — 27 September 2026
- Enabled Anthropic prompt caching for conversations and tool calls.
0.6.8 — 22 September 2026
- An empty line now separates each reply from the next
cheese>prompt, so a long conversation is easier to read.
0.6.7 — 19 September 2026
- Added steering so that messages sent while the model works are sent while it works.
- Added arrow key cursor control and multi-line pasting. Multi-line paste works on every interactive prompt. Arrow keys move the cursor only when Bash 4.4 or newer is available; otherwise the prompt still accepts typed and pasted text, but the arrow keys do not move the cursor.
- Escape key now interrupts the model.
- Changed the default Grok model to grok-4.7, for the Grok subscription and for the xAI API.
/modelsstill lists every model your account can use, and/modelstill selects one. /providernow uses a numbered list, the same way/loginalready does. Configured custom providers are on that list. Model names, server URLs, and API keys are still typed.
0.6.6 — 18 September 2026
- Corrected the application URL that Cheesedanish sends to OpenRouter.
0.6.5 — 16 September 2026
- Changed the default OpenRouter model to
openrouter/auto.
0.6.4 — 16 September 2026
- Fixed a bug in the
readtool. A file that is not UTF-8 text, such as an image, no longer breaks the request. The tool reports that the file is binary instead.
0.6.3 — 28 August 2026
- Security update.
0.6.2 — 26 August 2026
- Added
/login xai-apifor an xAI API key. This uses xAI API credit and is separate from/login xai, which still uses a Grok subscription. - A rejected key can be entered again immediately, and a failed replacement does not remove the prior saved credential.
- You can set
XAI_API_KEYinstead of saving a key. - The xAI API default is grok-4.6.
/modelslists the models that key can use. Hosted web search uses API credit.
0.6.1 — 26 August 2026
- Added
custom-<name>providers. Any OpenAI-compatible Chat Completions endpoint can be used without writing code: setcustom.<name>.urlin the config file, or run/login custom-<name>and answer three questions. - An optional API key for a custom provider is verified against the endpoint before it is saved, and stored in
auth.jsonunder the provider’s name. Endpoints that need no key work too; Authorization is simply omitted. /logout custom-<name>removes the key and the config keys together. Other providers’ credentials are untouched.- The selected provider is checked when it comes from
--provider, so a typo fails immediately instead of silently falling back.
0.6.0 — 22 August 2026
- Added
cheesedanish acp, a full ACP v1 server over UTF-8 newline-delimited JSON-RPC on standard input and standard output. - Added persistent ACP sessions with new, load, resume, list, close, prompt, history replay, message and usage updates, tool progress, stop reasons, and live cancellation.
- Added permission requests for write, edit, shell, and MCP tools.
--always-approve,--yolo, and xAI’s_meta.yoloModeprovide an explicit trusted-workspace mode. - Added client-supplied stdio MCP servers. Cheesedanish starts them for the session, discovers their tools, gives their schemas to every model-provider family, routes calls and results, and stops them when the session closes.
- Kept terminal and print modes compatible with the existing providers, tools, credentials, and session format.
0.5.5 — 21 August 2026
- Added hosted web search for an OpenAI API key and an Anthropic API key. The provider runs the search. This uses API credit, not a ChatGPT or Claude subscription.
- When a Brave Search key is also available, the provider search stays the default, as it already does on xAI Grok.
- ChatGPT subscription search is still not enabled.
0.5.3 — 20 August 2026
- Added NetBSD to the tested platforms. The runtime and the installer now accept the native
sha256command whensha256sumandshasumare not present. - NetBSD does not ship GNU
sha256sum. Itssha256 -qcommand prints only the digest, which is enough for PKCE, the installer checksum check, andcheesedanish update.
0.5.2 — 20 August 2026
- Made streamed replies much faster. Cheesedanish now reads a whole Server-Sent Events stream in one
awkprocess. It used to run a shell loop over the events and start two to fourawkprocesses for each one, and a model sends one event for each token, so the delay grew with the length of the reply. - A 1500-token reply on the BusyBox tools used by iSH now takes about 0.6 seconds to read instead of about 17 seconds. On Debian it takes about 0.09 seconds instead of about 6 seconds. The time now grows in proportion to the length of the reply, not faster.
- This is a speed change only. The assistant text, the tool calls, the token counts, and the error messages are the same as before.
0.5.1 — 20 August 2026
- Added independent web search through the Brave Search API.
/login braveverifies and saves a Brave Search key without changing the selected model provider. - Added
BRAVE_SEARCH_API_KEYfor using a Brave Search key without saving it. - When the selected model provider also has its own web search, Cheesedanish keeps the provider search as the default. On xAI Grok, the model receives both Grok search and Brave Search, with Grok search first.
- Fixed percent formatting on the 32-bit BusyBox environment used by iSH.
/usageno longer prints a doubled percent sign there.
0.5.0 — 19 August 2026
- Moved every user setting into
~/.cheesedanish/config: the selected provider, the last model for each provider, the Ollama server URL, and the runtime limits. - Each key in that file now has a comment above it and an empty line below it. Keys with no product default are written as comments.
/providerand/modelwriteconfig./reloadreads the selected provider and model from that file.- Left credentials in
auth.json. The Ollama server URL is no longer stored there.
0.4.10 — 19 August 2026
- Added
/login ollamafor a local or remote Ollama server. The default URL ishttp://localhost:11434. An API key is optional. /modelslists the models installed on that server. Login selects the first model when none is saved.- You can set
CHEESEDANISH_OLLAMA_BASEorOLLAMA_HOST, andOLLAMA_API_KEY, instead of saving a login.
0.4.9 — 19 August 2026
- Added
/login openai-apifor an OpenAI API key. This uses OpenAI API credit and is separate from/login openai, which still uses a ChatGPT subscription. - Added
/login anthropicfor an Anthropic API key. This uses Anthropic API credit. - A rejected key can be entered again immediately, and a failed replacement does not remove the prior saved credential.
- You can set
OPENAI_API_KEYorANTHROPIC_API_KEYinstead of saving a key. - The OpenAI API default is gpt-5.6. The Anthropic default is claude-sonnet-5.
/modelslists the models that key can use.
0.4.8 — 19 August 2026
- Added
/status. It shows this session’s token counts, the selected provider and model, and the current runtime state. - Made
/usageand/statusshow subscription data only for the selected provider.
0.4.7 — 18 August 2026
- Added
/usage. It shows this session’s token counts, plus the current ChatGPT and xAI subscription limits when those accounts are signed in.
0.4.6 — 18 August 2026
- On xAI Grok, the agent can now search the live web through the signed-in subscription. The provider runs the search. Local file and shell tools still run on your machine.
0.4.5 — 18 August 2026
- Added a config file at
~/.cheesedanish/config. The first start writes it with the runtime limits, includingmax_tool_rounds(default 20). - Added
/configto show the file path and the values in use. - Made
/reloadread the config file again, so a change takes effect without a restart. - A matching
CHEESEDANISH_*environment variable still overrides the file.
0.4.4 — 18 August 2026
- Added sign-in with an xAI Grok subscription through
/login xai. This uses the Grok access included with a SuperGrok or X Premium plan, not an xAI API key or API credit. - Added device-code login for that account. It shows a URL and a short code that you open in any browser, type, and approve, so the sign-in works over SSH and on a phone because there is no callback to your own machine.
- Set the default Grok model to grok-build-0.1.
/modelslists the models the signed-in account can use. - Made all three providers independent. OpenRouter, OpenAI ChatGPT, and xAI Grok each keep their own credential and their own selected model, and signing in to one or signing out of one never disturbs another.
- Kept the Grok sign-in valid during long sessions. The access token refreshes by itself.
- Labelled private model reasoning with the provider that produced it. If you change provider inside one session, the conversation is kept, and the previous provider’s private reasoning is not sent to the new one.
- xAI decides which accounts may sign in this way. If an account is not eligible the sign-in fails, and the other providers still work.
0.4.3 — 18 August 2026
- Fixed the edit tool. A file that contained a SOH control byte could lose every byte after that byte, and the tool still reported success. The rest of the file is now kept, including a file that ends with that byte.
0.4.2 — 17 August 2026
- Added sign-in with an OpenAI ChatGPT subscription. This uses the Codex access included with a Plus, Pro, Business, Edu, or Enterprise plan, not OpenAI API credit.
- Added device-code login for that account, with a browser sign-in fallback when an account cannot use device codes.
- Made the two providers independent. Each keeps its own credential and its own selected model, and
/provider,/login, and/logouttake a provider name. - Kept the sign-in valid during long sessions. The access token refreshes under a lock, so two Cheesedanish processes cannot invalidate each other.
- Added model discovery for the signed-in OpenAI account through
/models. - Carried reasoning across turns without storing readable private reasoning.
- Kept existing OpenRouter sessions and the saved OpenRouter model working.
0.4.1 — 17 August 2026
- Removed one claimed platform. Device testing found that Cheesedanish did not start there, and claiming a platform that does not work is worse than not claiming it. The supported platforms are now iSH, macOS, FreeBSD, and Debian.
- Kept the two portability repairs that arrived with that platform, because they help every system: the
xxdfallback, and correct library lookup when Cheesedanish starts fromPATH.
0.4.0 — 17 August 2026
- Added an install path for one more terminal application, published as not yet tested on a device. Version 0.4.1 removed it.
- Added an
xxdfallback for systems that havexxdbut notod. - Fixed library lookup when Cheesedanish starts through
PATHinstead of by directory name.
0.3.0 — 17 August 2026
- First multi-platform release. Cheesedanish is now built and tested on iSH (32-bit x86 Alpine), macOS, FreeBSD, and Debian.
- Added native macOS support. macOS has no
sha256sumand notimeout, so the runtime and the installer now fall back toshasum -a 256, and shell tools there run without an enforced time limit. - Fixed FreeBSD text handling. Unicode generated through
awkwas double-encoded under a locale-awareawk, and the PKCE digest used aprintfform that FreeBSD does not support. - Fixed macOS
base64, which does not accept the plain file argument that GNU and BusyBox accept. - Rebuilt the public page around the product.
0.2.0 — 16 August 2026
- Published a release site at
cheesedanish.nickmeslovich.com. - Added the one-line installer. It downloads the release and checks every file against a published SHA-256 manifest before it installs anything.
- Added
cheesedanish update, which installs the current release without touching your saved credential, your saved model, or your sessions. - Made the installer record the release URL it came from, so an update returns to the same server.
CHEESEDANISH_RELEASE_URLandCHEESEDANISH_INSTALL_PREFIXoverride it. - Added the source package download.
0.1.1 — 16 August 2026
- Repaired manual OpenRouter login. A key that you type in is now verified with OpenRouter before it is saved, a rejected key can be entered again immediately, and a failed attempt no longer removes the credential you already had.
0.1.0 — 16 August 2026
- First release. Interactive terminal chat, OpenRouter browser sign-in and API-key sign-in, model selection, sessions that continue between runs, project instructions from
AGENTS.mdorCLAUDE.md, print mode for scripts, and theread,write,edit, and shell tools. - Written as portable shell and
awk, including its own JSON parser and byte-safe JSON encoder. Cheesedanish needs no Node.js, no Python, nojq, and no compiled binary.
Downloads
/latest/cheesedanish.tar.gz always holds the source package for the current release. A versioned
download at /downloads/cheesedanish-<version>.tar.gz is available for the current release only.
Earlier versioned files are removed when a new release replaces them.