IDE Remote Mode

Connect the VS Code extension to your AgentKanban board at https://www.agentkanban.io so your AI coding agent can read and update tasks directly via MCP tools.


Overview

The VS Code extension connects to your AgentKanban board via the External API and MCP, letting you:

The sidebar is the main control surface for remote task selection and conversation capture.

The @kanban participant is available for context resume operations.


Prerequisites

  1. An AgentKanban account at https://www.agentkanban.io with a board
  2. An API key with Edit permission on that board (see API Keys)

Setup

Quick start

Use Agent Kanban: Configure Remote to open the persistent sidebar panel, or run Agent Kanban: Setup Remote Connection if you prefer the step-by-step wizard. The wizard walks through:

  1. Server URL (pre-filled with https://www.agentkanban.io)
  2. API key (create one from Settings > API Keys in the web app)
  3. Board selection
  4. MCP configuration (writes .vscode/mcp.json)

You can also configure the server URL and default board in the Agent Kanban sidebar panel.

Where credentials are stored

Settings

Setting Description
The extension does not rely on persisted VS Code settings for remote connection state. The only runtime override is AK_SERVER_URL, which takes precedence over the workspace-stored server URL in development.

MCP configuration

The setup wizard writes an MCP configuration to .vscode/mcp.json so your AI coding agent can call AgentKanban tools directly (e.g. get_task_context, add_comment, list_todos).

The generated config looks like:

{
  "servers": {
    "agent-kanban": {
      "type": "http",
      "url": "https://www.agentkanban.io/api/mcp/v1",
      "headers": {
        "Authorization": "Bearer ak_your_api_key_here"
      }
    }
  }
}

The API key is written directly into the config so MCP authentication works immediately with no additional prompts. The extension writes this file using the same API key you provide during setup.

Important: Because the file contains your API key in plaintext, you may wish to add .vscode/mcp.json to your .gitignore if you share the workspace via version control.


Select a task

The sidebar panel is the main control surface: it shows connection status, lets you switch boards and tasks, and can regenerate the MCP config file.

Use the sidebar to choose the active board and task. Selecting a task binds turn capture to that board task.


How it works

When you select a remote task in the sidebar:

  1. The extension fetches the task from the server via the External API
  2. AGENTS.md is updated with a remote task sentinel that includes the task ID and MCP tool references
  3. Any legacy .agentkanban/INSTRUCTION.md file is removed if it still exists from an older extension version
  4. The AI agent uses MCP tools (get_task_context, add_comment, list_todos, add_todo, update_todo) to interact with the task

The agent writes comments and updates directly to the server -- no local task files are created or modified.

Turn Capture Scope

Copilot chat turns are captured against the currently selected task. If you work with multiple chats concurrently, consider using Git Worktrees to isolate each task in its own workspace.


Live updates (push channel)

When a remote task is selected, the extension opens a lightweight read-only Yjs WebSocket connection to the server and listens for changes to the board you are working on. The push channel is authenticated with your API key using a standard Authorization: Bearer ak_... header on the WebSocket upgrade.

The extension reacts to events for the currently selected remote task only:

If the connection drops it reconnects automatically with exponential backoff (1s, 2s, 5s, 10s, 30s cap). If your API key is revoked server-side the connection is closed with code 4001 and no further reconnects are attempted until you re-run Setup Remote Connection.

The connection restores the latest board state after reconnect, but transient notifications are not replayed. For example, if a comment arrives while the extension is offline, the task state is recovered on the next refresh or sync, but you will not receive the original notification pop-up retroactively.


Conversation capture

When a task is selected in remote mode, the extension automatically captures your AI conversation turns and uploads them to the board. No action is required from you.

How it works

What gets captured

Viewing captured turns

Captured turns appear in the Turns tab on the task editor page in the web application. They are displayed alongside comments and todos, with visual badges indicating the source (Copilot, Claude, Codex).

Resume context

Use Resume In Chat in the Remote sidebar to open @kanban /resume for the selected task.

The resume flow:

Important limitation:

The underlying extension code now uses a unified task timeline abstraction, and /resume includes board comments as well as captured chat turns so user steering on the task board is visible in resumed chat context.

Debugging capture delay

When AK_DEBUG=1 or AGENT_KANBAN_DEBUG=1 is enabled, the sidebar shows the active capture file plus the extension log folder and primary log file path.

This helps distinguish delays caused by Copilot/VS Code persisting the finalized response text from delays in parsing or upload.

Offline behaviour

If the server is unreachable, turns are buffered locally (up to 500). The buffer is flushed automatically when connectivity is restored. The status bar shows the number of buffered turns.


Troubleshooting

Symptom Cause Fix
"Remote mode is not fully configured" Missing server URL or API key Run Setup Remote Connection or check settings
"API key is invalid or expired" 401 from server Run Setup Remote Connection to update the key
"Permission denied" API key lacks access to the board Grant Edit permission to the key for this board
"Could not reach the server" Network or URL issue Check the server URL and your network connection
"Rate limited" Too many requests Wait a moment and retry

Developer notes

For local development against a dev server, set the AK_SERVER_URL environment variable in your VS Code launch config:

{
  "env": {
    "AK_SERVER_URL": "http://localhost:5173"
  }
}

This overrides the default server URL without changing your VS Code settings. Enable debug logging with AK_DEBUG=1 to see all API/MCP/WebSocket interactions.


FAQ

What happens if the server goes down while I am working?

The extension tolerates temporary server outages gracefully:

Your local git work is never lost. Once the server recovers, reload the window or rerun @kanban /resume as needed.

Can the extension be used fully offline?

No. Remote mode requires a live connection to the AgentKanban server for task listing, context loading, and comment/todo writes.

The extension no longer ships a legacy local-file mode. If the server is temporarily unreachable during capture, turns are buffered locally and retried automatically when connectivity returns, but board operations themselves still require the remote service.