Skip to content

Repository files navigation

Furnace

A terminal-first coding agent built for real repository work

npm License: MIT Issues

Furnace is a local coding-agent CLI with a real TUI, typed tools, permission gates, resumable sessions, provider switching, and both interactive and headless workflows.

Furnace terminal UI showing the prompt, status line, and active model

What is Furnace?

Furnace is a from-scratch harness for agentic coding in the terminal. It gives an AI coding agent a focused workspace with repository context, local session history, model controls, tool execution, permissions, and a terminal UI designed for long-running implementation work.

The model still does the coding. Furnace provides the runtime around it: provider adapters, message projection, typed file/search/shell/web tools, permission checks, plan mode, subagents, compaction, usage tracking, and a persistent session store. Instead of treating every prompt as disposable, Furnace turns agent work into an ongoing local workflow.

Features

Headroom for long tool-heavy sessions

Furnace includes Headroom request compression for large tool results. Big reads, searches, and command outputs are shortened before they hit the model, while the full omitted content remains locally retrievable when the agent actually needs it.

Graph-based conversations and forks

Sessions are stored as a graph, not a flat transcript. You can resume old work, fork from the current point, fork from an earlier prompt, clone a conversation tip, and keep alternate attempts without losing the path that got you there.

Built-in workflows for real repositories

Furnace ships the daily agent ergonomics people keep rebuilding in every harness: slash commands, /stfu for minimal responses, /caveman for blunt doc-less interaction, /init to index an existing repository, plan mode, image input, usage tracking, undo, model controls, and permission management.

Local evolve that survives updates

/evolve lets Furnace modify its own harness locally, verify the change, and keep that evolved behavior in place. When Furnace updates, /evolve-merge can reapply those local changes onto the new version instead of throwing them away.

Pinned chats for multitasking

Pinned chats keep multiple active threads close at hand. You can pin work, switch between sessions, watch active subagents continue thinking, and multitask inside one terminal instead of juggling separate harness windows.

The good parts without the baggage

Furnace is intentionally stripped down around what actually helps coding agents work: a real TUI, local state, typed tools, permissions, context management, forks, skills, subagents, and headless mode. It keeps the useful parts of modern agent harnesses and removes the ceremony that slows them down.

Install

Requirements:

  • Node.js 22.x
  • Git
  • A provider API key configured through /login or environment variables

Run Furnace once through npx:

npx cook-furnace@latest

The first run installs Furnace into your user account and creates the persistent furnace command. It does not require administrator access or a global npm install.

On Windows, Furnace adds %LOCALAPPDATA%\Furnace\bin to your User PATH. On macOS and Linux it uses ~/.local/bin and adds that directory to your active shell profile only when needed. Reopen the terminal if Furnace reports that PATH changed.

Update later with:

furnace update

The npm package is cook-furnace; the installed command is furnace.

Quick start

Start the TUI from a repository:

cd ~/your-project
furnace

Then run /login to choose a provider and save an API key.

Run a one-shot prompt:

furnace -p "Summarize this repository"

Run from source:

npm install
npm run dev

Build the compiled CLI:

npm run build
npm run start -- --help

Documentation

Document Start here when you need
DOCS.md Architecture and system documentation index.
docs/architecture/overview.md Runtime layers, request flow, and ownership boundaries.
docs/systems/tools-and-permissions.md Tool registration, execution, approvals, and safety rules.
docs/systems/context-management.md Request compression, retrieval artifacts, compaction, and overflow handling.
docs/systems/extensions-and-subagents.md Skills, custom commands, delegated tasks, and child sessions.
CHANGELOG.md Release history.
CONTRIBUTING.md Contribution guidance.

Status

Furnace is early, but it is already usable as a local coding-agent CLI with interactive and headless modes. Expect fast iteration, and please open an issue if something feels off.

License

MIT License. See LICENSE.

About

Thanos of all the harnesses.

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages