Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.getpioneer.dev/llms.txt

Use this file to discover all available pages before exploring further.

Workspaces group threads, skills, MCP policy, tasks, and settings. The protocol already exposes workspace methods, but the current desktop app creates one default workspace automatically and does not yet expose full workspace switching. Threads are the primary conversation container. A thread has a workspace, mode (Chat or Agent), model, model provider, optional name, sidebar visibility, and turn history.

Workspace Methods

MethodParamsResultPurpose
workspace/listWorkspaceListParamsWorkspaceListResponseReturn known workspaces.
workspace/defaultWorkspaceDefaultParamsWorkspaceDefaultResponseReturn or create the default workspace.
workspace/createWorkspaceCreateParamsWorkspaceCreateResponseCreate a workspace by caller-provided workspace_id.

workspace/default

Use this first when a client needs a workspace id.
{
  "jsonrpc": "2.0",
  "id": "aaaaaaaaaaaaaaaaaaaaa",
  "method": "workspace/default",
  "params": {}
}
Response:
{
  "workspace": {
    "id": "ws_000000000000000001",
    "name": "Default Workspace",
    "is_active": true,
    "is_current": true,
    "created_at": 1760000000,
    "updated_at": 1760000000
  }
}

Thread Methods

MethodParamsResultPurpose
thread/startThreadStartParamsThreadStartResponseCreate a thread and subscribe the current connection to it.
thread/getThreadGetParamsThreadGetResponseLoad one thread.
thread/treeThreadTreeParamsThreadTreeResponseLoad workspace threads, folders, and placements.
thread/historyThreadHistoryParamsThreadHistoryResponseReplay durable history events for a thread.
thread/moveThreadMoveParamsThreadMoveResponseMove a thread into or out of a folder.
thread/folder/createThreadFolderCreateParamsThreadFolderCreateResponseCreate a folder.
thread/folder/moveThreadFolderMoveParamsThreadFolderMoveResponseMove a folder under another folder or to root.
thread/folder/deleteThreadFolderDeleteParamsThreadFolderDeleteResponseDelete a folder.
thread/unsubscribeThreadUnsubscribeParamsThreadUnsubscribeResponseStop sending thread-scoped notifications to this connection.

Starting A Thread

{
  "jsonrpc": "2.0",
  "id": "bbbbbbbbbbbbbbbbbbbbb",
  "method": "thread/start",
  "params": {
    "thread_id": "thr_000000000000000001",
    "workspace_id": "ws_000000000000000001",
    "name": "Research",
    "model": "google/gemini-3-flash-preview",
    "model_provider": "openrouter",
    "mode": "Agent",
    "sandbox": "FullAccess"
  }
}
Important fields:
FieldNotes
thread_idClient-provided id.
workspace_idWorkspace that owns the thread.
modeChat disables tools; Agent enables the agent loop and tool orchestration.
sandboxCurrently FullAccess only. Tool runs are not separately sandboxed yet.
origin_kinduser, task_run, or system. Task subagents use hidden task-run threads.
sidebar_visibilityvisible or hidden. Hidden is used for internal/task threads.
agent_nickname, agent_roleOptional labels for task/subagent threads.
Response:
{
  "thread": {
    "id": "thr_000000000000000001",
    "workspace_id": "ws_000000000000000001",
    "name": "Research",
    "mode": "Agent",
    "status": "Idle"
  },
  "sandbox": {
    "mode": "FullAccess"
  }
}

Thread Tree

thread/tree returns all threads plus folders and placement rows for a workspace. Clients should use this instead of trying to infer sidebar layout from thread rows alone.
{
  "method": "thread/tree",
  "params": {
    "workspace_id": "ws_000000000000000001"
  }
}
Result shape:
{
  "workspace_id": "ws_000000000000000001",
  "threads": [],
  "folders": [],
  "placements": [
    {
      "thread_id": "thr_000000000000000001",
      "workspace_id": "ws_000000000000000001",
      "folder_id": null
    }
  ]
}

Thread History

thread/history returns durable events, not only final messages. It is the replay API for rebuilding a timeline after reconnect.
{
  "method": "thread/history",
  "params": {
    "thread_id": "thr_000000000000000001",
    "limit": 500
  }
}
History event payloads include turn start, item start, item deltas, item completion, recovery events, tool retry events, tool loop budget events, and terminal turn events.

Thread Notifications

EventParamsMeaning
thread/startedThreadStartedNotificationA thread was created and started.
thread/updatedThreadUpdatedNotificationThread metadata or status changed.
thread/closedThreadClosedNotificationThread was closed/unloaded for this client context.
thread/tree/changedThreadTreeChangedNotificationThread/folder/sidebar tree should be reloaded.
Thread subscription is connection-scoped. Starting or interacting with a thread associates the connection with that thread/workspace; thread/unsubscribe removes the thread subscription for that connection.