Intro
Get started with hordecode.
hordecode is an open source AI coding agent. It runs as a terminal interface, and works right inside your editor’s integrated terminal — VS Code, Cursor, or any other IDE.

What hordecode is
hordecode is built for long-running, multi-step coding work, not just single prompts. Everything below ships in the binary; there are no plugins to assemble.
- Supervisor. A session that delegates work to background agents as tracked child sessions and reports their results back, so you aren’t left babysitting subagents.
- Harness pipeline. 16 skills for the stages of a task: plan, TDD, debug, review, verify and more. A verification skill asks for evidence before work is called done.
- Research pipeline. A separate set of 16 research skills for investigation and deep research, kept apart from the build pipeline. Each run goes through nine stages, from scope to a cited report and a decision record. See Agents.
- Memory. Seven memory tools plus a built-in memory search. Recall is keyword search by default; semantic search is opt-in. See Memory.
- Cron, workflows and inbox. Schedule recurring tasks (a recurring job runs for 7 days, or indefinitely when created with
permanent: true), run scripted multi-agent workflows in a sandbox, and pass messages between supervised sessions through an inbox. - Skills. Add your own skills alongside the built-in ones. See Skills.
- Familiar configuration. Configure it with
hordecode.json. Legacy config file and environment-variable names are still accepted as fallbacks, so existing setups keep working.
Let’s get started.
Prerequisites
To use hordecode in your terminal, you’ll need:
-
A modern terminal emulator like:
-
API keys for the LLM providers you want to use.
Install
The easiest way to install hordecode is through the install script.
curl -fsSL https://hordecode.com/install | bashThe script checks the downloaded archive against the release’s SHA256 checksums before installing it.
To read the script before running it, download it first:
curl -fsSL https://hordecode.com/install -o install.shless install.shbash install.shEvery install method puts the horde command on your path, with hordecode as an alias for the same program.
You can also install it with the following commands:
-
Using Node.js
Terminal window npm install -g hordecodeTerminal window bun install -g hordecodeTerminal window pnpm install -g hordecodeTerminal window yarn global add hordecode
Windows
-
Using NPM
Terminal window npm install -g hordecode
You can also grab the binary from the Releases.
Configure
With hordecode you can use any LLM provider by configuring their API keys.
Head over to the providers directory, pick the
one you want to use, and follow its setup guide. Most take just a couple of
minutes with the /connect command in the TUI.
/connectInitialize
Now that you’ve configured a provider, you can navigate to a project that you want to work on.
cd /path/to/projectAnd run hordecode.
hordeNext, initialize hordecode for the project by running the following command.
/initThis will get hordecode to analyze your project and create an AGENTS.md file in
the project root.
This helps hordecode understand the project structure and the coding patterns used.
Usage
You are now ready to use hordecode to work on your project. Feel free to ask it anything!
If you are new to using an AI coding agent, here are some examples that might help.
Ask questions
You can ask hordecode to explain the codebase to you.
How is authentication handled in @packages/functions/src/api/index.tsThis is helpful if there’s a part of the codebase that you didn’t work on.
Add features
You can ask hordecode to add new features to your project. Though we first recommend asking it to create a plan.
-
Create a plan
hordecode has a Plan mode that disables its ability to make changes and instead suggest how it’ll implement the feature.
Switch to it using the Tab key. You’ll see an indicator for this in the lower right corner.
<TAB>Now let’s describe what we want it to do.
When a user deletes a note, we'd like to flag it as deleted in the database.Then create a screen that shows all the recently deleted notes.From this screen, the user can undelete a note or permanently delete it.You want to give hordecode enough details to understand what you want. It helps to talk to it like you are talking to a junior developer on your team.
-
Iterate on the plan
Once it gives you a plan, you can give it feedback or add more details.
We'd like to design this new screen using a design I've used before.[Image #1] Take a look at this image and use it as a reference.hordecode can scan any images you give it and add them to the prompt. You can do this by dragging and dropping an image into the terminal.
-
Build the feature
Once you feel comfortable with the plan, switch back to Build mode by hitting the Tab key again.
<TAB>And asking it to make the changes.
Sounds good! Go ahead and make the changes.
Make changes
For more straightforward changes, you can ask hordecode to directly build it without having to review the plan first.
We need to add authentication to the /settings route. Take a look at how this ishandled in the /notes route in @packages/functions/src/notes.ts and implementthe same logic in @packages/functions/src/settings.tsYou want to make sure you provide a good amount of detail so hordecode makes the right changes.
Undo changes
Let’s say you ask hordecode to make some changes.
Can you refactor the function in @packages/functions/src/api/index.ts?But you realize that it is not what you wanted. You can undo the changes
using the /undo command.
/undohordecode will now revert the changes you made and show your original message again.
Can you refactor the function in @packages/functions/src/api/index.ts?From here you can tweak the prompt and ask hordecode to try again.
Or you can redo the changes using the /redo command.
/redoCustomize
And that’s it! You are now a pro at using hordecode.
To make it your own, we recommend picking a theme, customizing the keybinds, configuring code formatters, creating custom commands, or playing around with the hordecode config.