cheesedanish

v0.7.4 · changelog

Cheesedanish is an agent that operates your computer for you. Tell it what you want done. It runs the commands, reads and changes the files, checks the result, and tells you what it did. It is comparable to Claude Code and Codex, but it is written in portable sh and awk, and it does not use Node.js, Python, jq, or a compiled binary.

Use it for code, and for the other work you would do at a terminal: set up a machine, install and configure software, find what is filling the disk, read logs, sort a folder of files, or find out why a service will not start. It works in the directory where you start it, with your user account, and it keeps the conversation across sessions.

It brings a full terminal coding-agent workflow to systems that cannot or should not run modern Node.js. It runs on Unix-like systems with sh, awk, curl, and standard command-line tools—from phones and old laptops to servers, virtual machines, and single-board computers. It is tested on Alpine, macOS, FreeBSD, NetBSD, OpenBSD, Debian, iSH, EL 8, and EL 10.

Install

curl -fsSL https://cheesedanish.nickmeslovich.com/install.sh | sh

Installs to ~/.local. No Node.js or Python required.

What it does on your computer

  • Runs shell commands, reads the output, and decides the next step itself until the task is done.
  • Reads, creates, and edits files.
  • Installs packages, changes configuration, and checks services, processes, and logs.
  • Writes, fixes, and tests code in a project.
  • Follows your standing instructions from AGENTS.md or CLAUDE.md.
  • Uses skills from SKILL.md files, including skills shared with other agents.
  • Keeps conversations between sessions, so you can continue where you stopped.
  • Use OpenRouter, an OpenAI API key, an xAI API key, an Anthropic API key, or a local or remote Ollama server. You can also sign in with a ChatGPT or Grok subscription you already pay for.
  • Connect any other OpenAI-compatible Chat Completions endpoint without writing code.
  • When signed in with Grok, or when using an OpenAI, xAI, or Anthropic API key, let the agent search the live web through that provider.
  • Add independent web search with a Brave Search API key. If the selected provider also has search, that provider search stays the default.

Other ways to run it

  • Run it as an ACP v1 server for editors and other agent clients, with persistent sessions, permissions, cancellation, and stdio MCP tools.
  • Use print mode in scripts and command pipelines.

Get started

Start Cheesedanish in the directory you want it to work in. At the prompt, use /login to connect OpenRouter, an OpenAI, xAI, or Anthropic API key, a ChatGPT subscription, a Grok subscription, an Ollama server, a Brave Search key, or another OpenAI-compatible endpoint:

cheese> /login

Then give it work to do:

cheese> The disk is almost full. Find out what is using the space and remove what is safe to delete.

I’ll check disk usage first.
→ bash
→ bash
→ bash

Most of the space was old package and build caches in ~/.cache. I removed them and left your documents alone. 21 GB is now free.

It works the same way on code:

cheese> The API returns 500 when the request body is empty. Find the cause, fix it, and add a regression test.

I’ll reproduce the failure and trace the request path.
→ read
→ bash
→ read
→ edit
→ edit
→ bash

The empty body reached the JSON parser without validation. I added a 400 response and a regression test. The test suite passes.

Run cheesedanish -c later to continue where you stopped, or cheesedanish update to install a new release.

Before you run it

Cheesedanish can read files, change files, and run commands with your user account. It can do what you can do at your terminal. Use it only on machines and in directories where you want to give it that access.

Copied