LatentCode

Features

Beyond chat-and-edit, LatentCode has the pieces you need for real work: persistent goals, reusable skills, external tools over MCP, plugins, and durable sessions.

Goals — autonomous objectives

A goal is a natural-language condition the agent keeps working toward across multiple turns, on its own, until it's satisfied. Set one with the /goal slash command:

$/goal all tests pass and the lint step is clean

After each turn a fast evaluator checks whether the condition is met; if not, the agent continues. A ◎ Goal chip in the footer shows progress (e.g. turn 3/25). Manage it inline:

CommandEffect
/goal statusShow the current goal and progress
/goal pauseStop auto-continuing (keeps the goal)
/goal resumeResume working toward it
/goal edit <text>Rewrite the condition
/goal clearRemove the goal
Safe by design
Each burst is bounded — up to 25 turns, 15 minutes, or 200,000 tokens, whichever comes first — so a goal never runs away. The goal survives resume and context compaction.

Skills

Skills are reusable, packaged capabilities the agent can invoke — each is a folder with a SKILL.md that describes when and how to use it. Drop them in .latentcode/skills in your project (or the global config directory) and they appear as slash commands. Point at extra skill folders with the skills key in your config.

MCP servers

Connect external tools and data sources through the Model Context Protocol. Configure servers under the mcp key in your config, then authenticate any that need OAuth:

$latentcode mcp auth

Their tools and prompts become available to the agent automatically.

Plugins & hooks

Plugins are npm modules that extend the engine — add custom tools, transform messages, gate permissions, or hook into the session lifecycle. Install one and it's added to your config:

$latentcode plugin your-plugin-name

Add --global to enable it everywhere, or manage plugins from the TUI's plugin manager.

Sessions & compaction

  • Every conversation is a session, saved locally — resume, fork, rename, list, or export any of them.
  • As a session grows, LatentCode automatically compacts older context so it keeps working within the model's window. Trigger it manually any time with the compact shortcut.
  • Compaction and goals are tunable via the compaction config keys — see Configuration.