Plandex

Plandex is an open-source, terminal-based AI coding agent designed to take on large, multi-step software development tasks across many files in real world codebases. Written in Go and released under the MIT license, Plandex builds and executes long-running "plans" — durable, branchable units of work that combine intelligent context management, project maps generated with tree-sitter for 30+ programming languages, an effective 2M-token context window, and a cumulative diff review sandbox that isolates AI edits until a developer explicitly applies them. The tool ships as a CLI with an interactive REPL (fuzzy auto-complete), supports automated debugging of terminal commands and browser applications, integrates with Git for branching and commit-message generation, and is provider-neutral — working with Anthropic Claude, OpenAI, Google Gemini, OpenRouter.ai, Azure OpenAI, AWS Bedrock, DeepSeek, Perplexity, Ollama, and any OpenAI-compatible custom provider. The Plandex Server exposes a REST management/orchestration API (over 60 endpoints across accounts, orgs, projects, plans, branches, context, conversation, diffs, settings, model packs, and streaming execution) that powers both the CLI/REPL and the hosted Plandex Cloud. Plandex Cloud is winding down as of 2025-10-03; Plandex is now distributed primarily as a Docker-based self-hosted / local-mode product that users run with their own model-provider API keys.

1 APIs 16 Features
AIAI Coding AgentDeveloper ToolsOpen SourceCLITerminalLLMCoding AssistantAgentsGoContext ManagementPlansSelf-HostedREST

APIs

Plandex Server API

Management and orchestration REST API exposed by the Plandex server (open-source, Go) used by the Plandex CLI/REPL to drive long-running coding plans across organizations, proje...

Collections

Pricing Plans

Plandex Plans Pricing

3 plans

PLANS

Rate Limits

Plandex Rate Limits

5 limits

RATE LIMITS

FinOps

Features

2M-Token Effective Context Window

Smart context management loads only what's needed per step, enabling reliable work in large projects and files.

Tree-Sitter Project Maps

Fast project map generation and syntax validation across 30+ programming languages. Indexes directories with 20M+ tokens.

Cumulative Diff Sandbox

AI-generated changes are isolated from project files until explicitly applied, with cumulative review and roll-back.

Configurable Autonomy

Five autonomy levels — None, Basic, Plus, Semi-Auto, Full-Auto — selectable per-plan or via CLI flags.

Automated Debugging

Repeatedly runs commands (builds, tests, lints, scripts) and auto-fixes failures with rollback. Also debugs browser apps via Chrome.

Model Packs

Curated combinations of models bound to internal roles (planner, coder, builder, summarizer, verifier, context loader); built-in packs for daily, reasoning, strong, cheap, oss, and planner-specialized variants.

Multi-Provider Support

First-class support for Anthropic, OpenAI, Google AI Studio, Google Vertex AI, Azure OpenAI, AWS Bedrock, DeepSeek, Perplexity, OpenRouter, Ollama, and any OpenAI-compatible custom provider.

Claude Pro/Max Subscription

Plandex can use a Claude Pro or Max subscription as the credential when calling Anthropic models.

Context Caching

Built-in context caching across OpenAI, Anthropic, and Google models reduces latency and cost on multi-step plans.

Plan Version Control

Every plan update is versioned, with branching for exploring multiple paths or comparing different models. Rewind to any prior SHA.

Git Integration

Commit message generation, optional auto-commits, and clean integration with project git history.

REPL with Fuzzy Auto-Complete

Interactive shell launched by `plandex` (or `pdx`) with fuzzy command and file completion; backslash equivalents (`\new`, `\tell`) for every command.

One-Line Install

Zero-dependency CLI install via `curl -sL https://plandex.ai/install.sh | bash`. Docker compose for the self-hosted server.

Background Tasks

`--bg` flag runs plans concurrently in the background under separate streams.

Smart Context + Auto-Load Context

Loads only the files needed for each implementation step (smart-context) and uses the project map to choose them (auto-load-context).

Streaming Plan Execution

tell, build, and connect endpoints stream model responses live; clients can reconnect to in-progress plans after disconnects.

Use Cases

Large Refactors

Coordinate refactors that touch dozens of files across a large codebase without losing the thread between steps.

Polyglot Project Work

Work in repositories that span 30+ languages thanks to tree-sitter project maps.

Adding Features To Real Projects

Take a feature from idea through chat mode, into a detailed implementation plan, into reviewed and applied file changes.

Automated Debugging

Wrap a flaky build, test, or browser app in `plandex debug` and let Plandex iteratively repair it.

Codebase Onboarding And Q&A

Use chat mode and the project map to ask questions about an unfamiliar codebase.

Multi-Model Comparisons

Branch a plan to run different model packs against the same context and compare results.

Long-Running Background Coding

Kick off `--bg` plans, switch repos, and reconnect to streaming output later.

BYO Subscription Coding Agent

Use a Claude Pro/Max subscription as the credential for an autonomous coding agent.

Self-Hosted AI Coding For Sensitive Codebases

Run the Plandex server in Docker on-prem with locally-hosted Ollama models or a private custom provider.

Integrations

Anthropic Claude

Direct Anthropic API integration; also supports Claude Pro/Max subscriptions.

OpenAI

Direct OpenAI API integration via OPENAI_API_KEY.

OpenRouter.ai

Default recommended provider for self-hosted Plandex; also used as a failover route across other configured providers.

Google AI Studio

Gemini models via GEMINI_API_KEY.

Google Vertex AI

Gemini and Anthropic models via Vertex AI credentials.

Microsoft Azure OpenAI

OpenAI models on Azure with deployment-name mapping.

AWS Bedrock

Anthropic models on Bedrock with AWS profile or env-var credentials.

DeepSeek

DeepSeek models via DEEPSEEK_API_KEY.

Perplexity

Perplexity models via PERPLEXITY_API_KEY.

Ollama

Local model hosting via Ollama; no API keys required.

Custom Providers

Any OpenAI-compatible API can be added via a JSON config (`plandex models custom`).

Relace

Instant-apply fallback model used when Plandex cannot apply edits deterministically (Plandex Cloud).

Git

Branching, commit-message generation, optional auto-commits.

Chrome

Automated debugging of browser applications when Chrome is installed.

Docker

Self-hosted server distributed as a Docker image with a published docker-compose stack.

Postgres

Backing database for the Plandex server.

LiteLLM Proxy

Embedded LiteLLM proxy used by the server to talk to model providers uniformly.

Stripe

Payment processing for Plandex Cloud subscriptions and credit purchases.

Loops

Email marketing for Plandex updates (Plandex Cloud).

Google Analytics

Basic usage analytics (Plandex Cloud).

Rollbar

Error tracking (Plandex Cloud).

Solutions

Self-Hosted / Local Mode

Run Plandex locally with Docker and BYO model-provider keys. MIT-licensed and free.

Plandex Cloud — BYO API Key Mode (Historical)

Hosted Plandex with user-supplied provider keys, $30/month after trial. Winding down 2025-10-03.

Plandex Cloud — Integrated Models Mode (Historical)

Hosted Plandex with integrated credit billing, $45/month including $20/mo of non-expiring credits. Winding down 2025-10-03.

Semantic Vocabularies

Plandex Context

41 classes · 2 properties

JSON-LD

API Governance Rules

Plandex API Rules

9 rules · 2 errors 3 warnings 4 info

SPECTRAL

JSON Structure

Plandex Server Context Item Structure

12 properties

JSON STRUCTURE

Plandex Server Model Pack Structure

11 properties

JSON STRUCTURE

Plandex Server Plan Structure

10 properties

JSON STRUCTURE

Example Payloads

Plandex Server Plan Example

10 fields

EXAMPLE

Resources

🔗
Website
Website
🔗
Documentation
Documentation
🚀
GettingStarted
GettingStarted
🚀
GettingStarted
GettingStarted
🔗
Install
Install
👥
GitHub
GitHub
👥
GitHubOrganization
GitHubOrganization
👥
GitHubRepository
GitHubRepository
💻
SourceCode
SourceCode
🔗
License
License
🔗
CLI
CLI
🔗
REPL
REPL
💰
Pricing
Pricing
📜
PrivacyPolicy
PrivacyPolicy
📜
TermsOfService
TermsOfService
🔗
Security
Security
📰
Blog
Blog
📄
ReleaseNotes
ReleaseNotes
📄
ChangeLog
ChangeLog
💬
Support
Support
🔗
Discord
Discord
🔗
Twitter
Twitter
👥
YouTube
YouTube
🔗
Forums
Forums
🔗
Issues
Issues
🔗
Docker
Docker
🔗
DockerCompose
DockerCompose
🔗
SpectralRules
SpectralRules
🔗
Vocabulary
Vocabulary
🔗
JSONLD
JSONLD
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Plandex Server API
  version: '2'
request:
  auth:
    type: bearer
    token: '{{bearerToken}}'
items:
- info:
    name: Health
    type: folder
  items:
  - info:
      name: Get Server Health
      type: http
    http:
      method: GET
      url: http://localhost:8099/health
    docs: Liveness probe used by load balancers and monitoring.
  - info:
      name: Get Server Version
      type: http
    http:
      method: GET
      url: http://localhost:8099/version
    docs: Returns the running server version string from version.txt.
- info:
    name: Accounts
    type: folder
  items:
  - info:
      name: Create Email Verification
      type: http
    http:
      method: POST
      url: http://localhost:8099/accounts/email_verifications
    docs: Send an email verification PIN to the supplied address.
  - info:
      name: Check Email Verification Pin
      type: http
    http:
      method: POST
      url: http://localhost:8099/accounts/email_verifications/check_pin
    docs: Verify the PIN previously emailed to the user.
  - info:
      name: Create Sign In Code
      type: http
    http:
      method: POST
      url: http://localhost:8099/accounts/sign_in_codes
    docs: Issue a single-use sign-in code (alternative to password flow).
  - info:
      name: Sign In
      type: http
    http:
      method: POST
      url: http://localhost:8099/accounts/sign_in
    docs: Authenticate a user and start a session.
  - info:
      name: Sign Out
      type: http
    http:
      method: POST
      url: http://localhost:8099/accounts/sign_out
    docs: Terminate the active session.
  - info:
      name: Create Account
      type: http
    http:
      method: POST
      url: http://localhost:8099/accounts
    docs: Register a new Plandex account.
- info:
    name: Orgs
    type: folder
  items:
  - info:
      name: List Orgs
      type: http
    http:
      method: GET
      url: http://localhost:8099/orgs
    docs: List organizations the authenticated user belongs to.
  - info:
      name: Create Org
      type: http
    http:
      method: POST
      url: http://localhost:8099/orgs
    docs: Create a new organization.
  - info:
      name: Get Org Session
      type: http
    http:
      method: GET
      url: http://localhost:8099/orgs/session
    docs: Return the active org session context for the authenticated user.
  - info:
      name: List Org Roles
      type: http
    http:
      method: GET
      url: http://localhost:8099/orgs/roles
    docs: List RBAC roles available within the org.
- info:
    name: Users
    type: folder
  items:
  - info:
      name: Delete Org User
      type: http
    http:
      method: DELETE
      url: http://localhost:8099/orgs/users/:userId
      params:
      - name: userId
        value: ''
        type: path
    docs: Remove a user from the org.
  - info:
      name: List Users
      type: http
    http:
      method: GET
      url: http://localhost:8099/users
    docs: List users in the current org.
- info:
    name: Invites
    type: folder
  items:
  - info:
      name: Invite User
      type: http
    http:
      method: POST
      url: http://localhost:8099/invites
    docs: Send an invite to add a user to the org.
  - info:
      name: List Pending Invites
      type: http
    http:
      method: GET
      url: http://localhost:8099/invites/pending
    docs: List invites that have not yet been accepted.
  - info:
      name: List Accepted Invites
      type: http
    http:
      method: GET
      url: http://localhost:8099/invites/accepted
    docs: List invites that have already been accepted.
  - info:
      name: List All Invites
      type: http
    http:
      method: GET
      url: http://localhost:8099/invites/all
    docs: List all invites regardless of state.
  - info:
      name: Delete Invite
      type: http
    http:
      method: DELETE
      url: http://localhost:8099/invites/:inviteId
      params:
      - name: inviteId
        value: ''
        type: path
    docs: Revoke an outstanding invite.
- info:
    name: Projects
    type: folder
  items:
  - info:
      name: List Projects
      type: http
    http:
      method: GET
      url: http://localhost:8099/projects
    docs: List projects in the current org.
  - info:
      name: Create Project
      type: http
    http:
      method: POST
      url: http://localhost:8099/projects
    docs: Create a new project container for plans.
  - info:
      name: Set Current Plan For Project
      type: http
    http:
      method: PUT
      url: http://localhost:8099/projects/:projectId/set_plan
      params:
      - name: projectId
        value: ''
        type: path
    docs: Set the active plan for a project.
  - info:
      name: Rename Project
      type: http
    http:
      method: PUT
      url: http://localhost:8099/projects/:projectId/rename
      params:
      - name: projectId
        value: ''
        type: path
    docs: Rename an existing project.
- info:
    name: Plans
    type: folder
  items:
  - info:
      name: Create Plan
      type: http
    http:
      method: POST
      url: http://localhost:8099/projects/:projectId/plans
      params:
      - name: projectId
        value: ''
        type: path
    docs: Create a new plan inside the given project.
  - info:
      name: Delete All Plans In Project
      type: http
    http:
      method: DELETE
      url: http://localhost:8099/projects/:projectId/plans
      params:
      - name: projectId
        value: ''
        type: path
    docs: Bulk delete all plans in the project.
  - info:
      name: List Plans
      type: http
    http:
      method: GET
      url: http://localhost:8099/plans
    docs: List active plans for the user.
  - info:
      name: List Archived Plans
      type: http
    http:
      method: GET
      url: http://localhost:8099/plans/archive
    docs: List plans the user has archived.
  - info:
      name: List Running Plans
      type: http
    http:
      method: GET
      url: http://localhost:8099/plans/ps
    docs: List plans currently executing (analogous to `plandex ps`).
  - info:
      name: Get Plan
      type: http
    http:
      method: GET
      url: http://localhost:8099/plans/:planId
      params:
      - name: planId
        value: ''
        type: path
    docs: Retrieve a single plan.
  - info:
      name: Delete Plan
      type: http
    http:
      method: DELETE
      url: http://localhost:8099/plans/:planId
      params:
      - name: planId
        value: ''
        type: path
    docs: Delete a single plan and its history.
  - info:
      name: Get Current Plan At Sha
      type: http
    http:
      method: GET
      url: http://localhost:8099/plans/:planId/current_plan/:sha
      params:
      - name: planId
        value: ''
        type: path
      - name: sha
        value: ''
        type: path
    docs: Snapshot of the current plan state at a specific version SHA.
  - info:
      name: Get Current Plan On Branch
      type: http
    http:
      method: GET
      url: http://localhost:8099/plans/:planId/:branch/current_plan
      params:
      - name: planId
        value: ''
        type: path
      - name: branch
        value: ''
        type: path
    docs: Snapshot of the current plan state on the specified branch.
  - info:
      name: Archive Plan
      type: http
    http:
      method: PATCH
      url: http://localhost:8099/plans/:planId/archive
      params:
      - name: planId
        value: ''
        type: path
    docs: Archive a plan.
  - info:
      name: Unarchive Plan
      type: http
    http:
      method: PATCH
      url: http://localhost:8099/plans/:planId/unarchive
      params:
      - name: planId
        value: ''
        type: path
    docs: Restore an archived plan.
  - info:
      name: Rename Plan
      type: http
    http:
      method: PATCH
      url: http://localhost:8099/plans/:planId/rename
      params:
      - name: planId
        value: ''
        type: path
    docs: Rename an existing plan.
- info:
    name: Branches
    type: folder
  items:
  - info:
      name: Get Current Branches By Plan
      type: http
    http:
      method: POST
      url: http://localhost:8099/projects/:projectId/plans/current_branches
      params:
      - name: projectId
        value: ''
        type: path
    docs: Return the current branch for each of the supplied plan IDs.
  - info:
      name: List Plan Branches
      type: http
    http:
      method: GET
      url: http://localhost:8099/plans/:planId/branches
      params:
      - name: planId
        value: ''
        type: path
    docs: List all branches that exist on the plan.
  - info:
      name: Delete Plan Branch
      type: http
    http:
      method: DELETE
      url: http://localhost:8099/plans/:planId/branches/:branch
      params:
      - name: planId
        value: ''
        type: path
      - name: branch
        value: ''
        type: path
    docs: Delete an existing branch from the plan.
  - info:
      name: Create Plan Branch
      type: http
    http:
      method: POST
      url: http://localhost:8099/plans/:planId/:branch/branches
      params:
      - name: planId
        value: ''
        type: path
      - name: branch
        value: ''
        type: path
    docs: Create a new branch off the specified branch of the plan.
- info:
    name: Diffs
    type: folder
  items:
  - info:
      name: Apply Plan Changes
      type: http
    http:
      method: PATCH
      url: http://localhost:8099/plans/:planId/:branch/apply
      params:
      - name: planId
        value: ''
        type: path
      - name: branch
        value: ''
        type: path
    docs: Apply all pending file changes for the plan on the given branch.
  - info:
      name: Reject All Plan Changes
      type: http
    http:
      method: PATCH
      url: http://localhost:8099/plans/:planId/:branch/reject_all
      params:
      - name: planId
        value: ''
        type: path
      - name: branch
        value: ''
        type: path
    docs: Reject every pending file change for the plan on the branch.
  - info:
      name: Reject Plan File Change
      type: http
    http:
      method: PATCH
      url: http://localhost:8099/plans/:planId/:branch/reject_file
      params:
      - name: planId
        value: ''
        type: path
      - name: branch
        value: ''
        type: path
    docs: Reject pending changes for a single file.
  - info:
      name: Reject Multiple File Changes
      type: http
    http:
      method: PATCH
      url: http://localhost:8099/plans/:planId/:branch/reject_files
      params:
      - name: planId
        value: ''
        type: path
      - name: branch
        value: ''
        type: path
    docs: Reject pending changes for the supplied list of files.
  - info:
      name: Get Plan Diffs
      type: http
    http:
      method: GET
      url: http://localhost:8099/plans/:planId/:branch/diffs
      params:
      - name: planId
        value: ''
        type: path
      - name: branch
        value: ''
        type: path
    docs: Get the unified diff of pending changes for the plan branch.
- info:
    name: Context
    type: folder
  items:
  - info:
      name: List Context
      type: http
    http:
      method: GET
      url: http://localhost:8099/plans/:planId/:branch/context
      params:
      - name: planId
        value: ''
        type: path
      - name: branch
        value: ''
        type: path
    docs: List items currently loaded into the plan's context.
  - info:
      name: Load Context
      type: http
    http:
      method: POST
      url: http://localhost:8099/plans/:planId/:branch/context
      params:
      - name: planId
        value: ''
        type: path
      - name: branch
        value: ''
        type: path
    docs: Load files, directories, URLs, notes, or images into the plan context.
  - info:
      name: Update Context
      type: http
    http:
      method: PUT
      url: http://localhost:8099/plans/:planId/:branch/context
      params:
      - name: planId
        value: ''
        type: path
      - name: branch
        value: ''
        type: path
    docs: Refresh outdated context items.
  - info:
      name: Delete Context
      type: http
    http:
      method: DELETE
      url: http://localhost:8099/plans/:planId/:branch/context
      params:
      - name: planId
        value: ''
        type: path
      - name: branch
        value: ''
        type: path
    docs: Remove context items from the plan.
  - info:
      name: Get Context Body
      type: http
    http:
      method: GET
      url: http://localhost:8099/plans/:planId/:branch/context/:contextId/body
      params:
      - name: planId
        value: ''
        type: path
      - name: branch
        value: ''
        type: path
      - name: contextId
        value: ''
        type: path
    docs: Return the raw body of a context item.
- info:
    name: Conversation
    type: folder
  items:
  - info:
      name: List Conversation Messages
      type: http
    http:
      method: GET
      url: http://localhost:8099/plans/:planId/:branch/convo
      params:
      - name: planId
        value: ''
        type: path
      - name: branch
        value: ''
        type: path
    docs: List prompts and responses in the plan branch conversation.
  - info:
      name: Rewind Plan
      type: http
    http:
      method: PATCH
      url: http://localhost:8099/plans/:planId/:branch/rewind
      params:
      - name: planId
        value: ''
        type: path
      - name: branch
        value: ''
        type: path
    docs: Rewind the plan branch to a previous version SHA.
  - info:
      name: List Plan Logs
      type: http
    http:
      method: GET
      url: http://localhost:8099/plans/:planId/:branch/logs
      params:
      - name: planId
        value: ''
        type: path
      - name: branch
        value: ''
        type: path
    docs: List log events for the plan branch.
- info:
    name: Settings
    type: folder
  items:
  - info:
      name: Get Plan Settings
      type: http
    http:
      method: GET
      url: http://localhost:8099/plans/:planId/:branch/settings
      params:
      - name: planId
        value: ''
        type: path
      - name: branch
        value: ''
        type: path
    docs: Get the model and execution settings for the plan branch.
  - info:
      name: Update Plan Settings
      type: http
    http:
      method: PUT
      url: http://localhost:8099/plans/:planId/:branch/settings
      params:
      - name: planId
        value: ''
        type: path
      - name: branch
        value: ''
        type: path
    docs: Update the model and execution settings for the plan branch.
  - info:
      name: Get Default Settings
      type: http
    http:
      method: GET
      url: http://localhost:8099/default_settings
    docs: Get org-level default model and execution settings.
  - info:
      name: Update Default Settings
      type: http
    http:
      method: PUT
      url: http://localhost:8099/default_settings
    docs: Update org-level default settings.
  - info:
      name: Get Plan Config
      type: http
    http:
      method: GET
      url: http://localhost:8099/plans/:planId/config
      params:
      - name: planId
        value: ''
        type: path
    docs: Get the per-plan configuration (autonomy flags, executor settings).
  - info:
      name: Update Plan Config
      type: http
    http:
      method: PUT
      url: http://localhost:8099/plans/:planId/config
      params:
      - name: planId
        value: ''
        type: path
    docs: Update the per-plan configuration.
  - info:
      name: Get Default Plan Config
      type: http
    http:
      method: GET
      url: http://localhost:8099/default_plan_config
    docs: Get the org-level default plan config used as a template for new plans.
  - info:
      name: Update Default Plan Config
      type: http
    http:
      method: PUT
      url: http://localhost:8099/default_plan_config
    docs: Update the org-level default plan config.
  - info:
      name: Get Org User Config
      type: http
    http:
      method: GET
      url: http://localhost:8099/org_user_config
    docs: Get the per-user configuration scoped to the current org.
  - info:
      name: Update Org User Config
      type: http
    http:
      method: PUT
      url: http://localhost:8099/org_user_config
    docs: Update the per-user configuration scoped to the current org.
- info:
    name: Execution
    type: folder
  items:
  - info:
      name: Get Plan Status
      type: http
    http:
      method: GET
      url: http://localhost:8099/plans/:planId/:branch/status
      params:
      - name: planId
        value: ''
        type: path
      - name: branch
        value: ''
        type: path
    docs: Get the execution status for the plan branch.
  - info:
      name: Tell Plan
      type: http
    http:
      method: POST
      url: http://localhost:8099/plans/:planId/:branch/tell
      params:
      - name: planId
        value: ''
        type: path
      - name: branch
        value: ''
        type: path
    docs: Send a prompt to the plan and stream the model response (streaming endpoint, analogous to `plandex tell`).
  - info:
      name: Build Plan
      type: http
    http:
      method: PATCH
      url: http://localhost:8099/plans/:planId/:branch/build
      params:
      - name: planId
        value: ''
        type: path
      - name: branch
        value: ''
        type: path
    docs: Build pending changes from the conversation into file updates (streaming endpoint, analogous to `plandex build`).
  - info:
      name: Connect To Plan Stream
      type: http
    http:
      method: PATCH
      url: http://localhost:8099/plans/:planId/:branch/connect
      params:
      - name: planId
        value: ''
        type: path
      - name: branch
        value: ''
        type: path
    docs: Connect (or reconnect) to the live stream of an in-progress plan run.
  - info:
      name: Stop Plan
      type: http
    http:
      method: DELETE
      url: http://localhost:8099/plans/:planId/:branch/stop
      params:
      - name: planId
        value: ''
        type: path
      - name: branch
        value: ''
        type: path
    docs: Stop an in-progress plan run.
  - info:
      name: Respond Missing File
      type: http
    http:
      method: POST
      url: http://localhost:8099/plans/:planId/:branch/respond_missing_file
      params:
      - name: planId
        value: ''
        type: path
      - name: branch
        value: ''
        type: path
    docs: Reply to a model request for a file the agent could not find.
  - info:
      name: Auto Load Context
      type: http
    http:
      method: POST
      url: http://localhost:8099/plans/:planId/:branch/auto_load_context
      params:
      - name: planId
        value: ''
        type: path
      - name: branch
        value: ''
        type: path
    docs: Have the agent automatically load context based on the project map.
  - info:
      name: Get Build Status
      type: http
    http:
      method: GET
      url: http://localhost:8099/plans/:planId/:branch/build_status
      params:
      - name: planId
        value: ''
        type: path
      - name: branch
        value: ''
        type: path
    docs: Get build status for the plan branch.
- info:
    name: Models
    type: folder
  items:
  - info:
      name: List Custom Models
      type: http
    http:
      method: GET
      url: http://localhost:8099/custom_models
    docs: List user-defined custom models.
  - info:
      name: Upsert Custom Models
      type: http
    http:
      method: POST
      url: http://localhost:8099/custom_models
    docs: Create or update one or more custom models.
  - info:
      name: Get Custom Model
      type: http
    http:
      method: GET
      url: http://localhost:8099/custom_models/:modelId
      params:
      - name: modelId
        value: ''
        type: path
    docs: Get a single user-defined custom model.
  - info:
      name: List Custom Providers
      type: http
    http:
      method: GET
      url: http://localhost:8099/custom_providers
    docs: List custom (OpenAI-compatible) model providers.
  - info:
      name: Get Custom Provider
      type: http
    http:
      method: GET
      url: http://localhost:8099/custom_providers/:providerId
      params:
      - name: providerId
        value: ''
        type: path
    docs: Get a custom provider by ID.
  - info:
      name: List Model Packs
      type: http
    http:
      method: GET
      url: http://localhost:8099/model_sets
    docs: List available model packs (daily, strong, cheap, oss, planner-specific, custom).
  - info:
      name: Create Model Pack
      type: http
    http:
      method: POST
      url: http://localhost:8099/model_sets
    docs: Create a new model pack composition.
  - info:
      name: Update Model Pack
      type: http
    http:
      method: PUT
      url: http://localhost:8099/model_sets/:setId
      params:
      - name: setId
        value: ''
        type: path
    docs: Update an existing model pack.
- info:
    name: FileMap
    type: folder
  items:
  - info:
      name: Get File Map
      type: http
    http:
      method: POST
      url: http://localhost:8099/file_map
    docs: Generate a tree-sitter file map for the supplied directory or files.
  - info:
      name: Load Cached File Map
      type: http
    http:
      method: POST
      url: http://localhost:8099/plans/:planId/:branch/load_cached_file_map
      params:
      - name: planId
        value: ''
        type: path
      - name: branch
        value: ''
        type: path
    docs: Load a cached file map into the plan context.
bundled: true