Everything Daedalus can do fits on one hand and a finger: read, search, list, edit, write and run. Nothing hidden.
Daedalus built the Labyrinth of Crete — a structure so intricate that even its maker could barely escape. Your codebase is a labyrinth too.
Daedalus the agent walks it for you: it reads the corridors, reshapes the walls, and runs the tests, all from a single prompt in your terminal. It asks before it changes anything, and it never leaves the folder you started it in.
No plugin store, no dashboard, no window. Just a few hard limits that keep the craftsman fast, focused and predictable.
Everything Daedalus can do fits on one hand and a finger: read, search, list, edit, write and run. Nothing hidden.
Room for whole files, long refactors and a thorough explanation in a single streamed reply.
Runaway scripts get stopped, so a hung server never freezes the session.
No electron, no browser tab, no sidebar. If it isn't a TTY, Daedalus won't start.
Before a single wall moves, Daedalus walks the halls. list_dir, read_file and search let it learn how your project is laid out — which files matter, where the bug hides, how the pieces connect.
Then it builds. edit_file makes surgical, unique-match replacements; write_file raises whole new rooms. Every edit shows you a red/green diff first.
Icarus flew too close to the sun. Daedalus doesn't. Writes and commands wait for your y, paths can't escape the workspace, and a declined action makes it change course instead of retrying.
Finally, it runs the trials. run_command executes your tests and builds, reads the output, and keeps going until things pass — then tells you, in a line or two, what changed and how it was checked.
Six instruments, nothing more. Small enough to trust, sharp enough to build anything.
Lists what's in any folder of your workspace, folders first, so Daedalus can get its bearings before it reads.
▸ list_dir src ✓ components/ lib/ index.js
Reads files with line numbers, in windows of up to 2,000 lines, so even huge files can be studied in pieces.
▸ read_file src/server.js ✓ 48 lines
Regex search across the project, skipping node_modules, .git and binaries — Ariadne's thread, in code form.
▸ search /TODO/ in src ✓ src/api.js:42: // TODO
Replaces one exact, unique snippet. If the match is ambiguous it refuses, so edits land exactly where intended.
▸ edit_file src/server.js
✓ edited src/server.js
Creates new files or rewrites whole ones, building any missing folders along the way.
▸ write_file tests/health.test.js
✓ wrote (412 chars)
Runs any shell command in your workspace with a 120-second timeout, then reads stdout, stderr and the exit code.
▸ run_command $ npm test
✓ exit code: 0
Every task follows the same rhythm a master craftsman would: look, think, ask, build, prove.
Type a task at the ❯ prompt in plain language — any language. Or pass it straight in: daedalus "fix the failing tests".
Daedalus lists folders, reads the relevant files and searches for the code that matters. Nothing is changed yet.
A summary of its reasoning streams in grey italics, so you can see why it picked a path — and stop it with Ctrl+C if it's the wrong one.
Each write, edit or command waits for y, n or a (always). Edits show a diff first. Say no and it adapts.
It runs your tests or build, reads the result, fixes what broke, and finishes with a one-line summary of what changed and how it was verified.
The shell is where code is built, tested and shipped. Daedalus refuses to run anywhere else — pipe it, wrap it in a GUI, and it will politely leave. Fewer layers, faster loops, total control.
Read the docs →A handful of commands and keys. That's the whole interface.
List every command.
Toggle auto-approve for writes and shell commands.
Forget the conversation and start fresh.
Tokens used this session, including cache reads.
Leave the labyrinth.
Interrupt a running turn. At the prompt, quit.
Approve once, decline, or approve always.
Env var to pick a different Claude model.
Heroes, monsters and kings once wandered these halls. Here's what they'd say if they had a codebase — and a terminal. (They're fictional. The tool isn't.)
"Daedalus gave me wings and a warning. This time I actually read the diff before flying."
Icarusson of the craftsman"I used to need a thread to find my way out. Now I just type search."
Ariadneprincess of Crete"Walked into a forty-thousand-line monolith, walked out with green tests. No GUI required."
Theseushero of Athens"I commissioned a maze. I got a maze, a test suite and a one-line summary of both."
Minosking of Crete"It asked before touching my files. Nobody in this palace ever asks."
Pasiphaëqueen of CreteThe terminal is where builds, tests and git already live. Keeping Daedalus there means no context switching and no extra layers. It checks for an interactive TTY on startup and exits if it doesn't find one.
Node.js 20 or newer and an Anthropic API key in ANTHROPIC_API_KEY. It works in PowerShell, Windows Terminal, macOS Terminal, iTerm and any Linux shell.
The files Daedalus reads and the output of commands it runs are sent to the Claude API as part of the conversation, so the model can reason about them. Nothing is sent anywhere else.
Writes, edits and shell commands all need your approval unless you turn on /auto. File tools can't reach outside the folder you launched from. Shell commands run with your permissions, so read them before you press y.
Claude Opus 5.5 by default, with adaptive thinking. Set DAEDALUS_MODEL to use a different Claude model.
Daedalus itself is free and MIT-licensed. You pay for the API tokens it uses on your own Anthropic account. Type /cost any time to see how many tokens the session has used.
The craftsman's own token. Tilt the card to catch the light — the contract address lives right on it, and one click copies it.
Open a terminal, step into your project and summon the craftsman. Your next build is one prompt away.
$ daedalus