# Tools & Worktrees

Experimental surface: the tool registry, the resource list, plain git worktrees, and the managed worktrees that carry parent/child links.

Playground

Send these requests to your own running server. Values stay in this browser.

Not connected

Base URL  Directory _optional_  Bearer token _optional_ 

 

How this works

Start a server with `nikcli serve --hostname 127.0.0.1 --port 4096`. Requests go straight from this page to that address — the browser allows it because loopback counts as a secure origin, and the server allows it because `nikcli-ai.dev` is in its CORS allowlist.

To try things without touching your real sessions or config, start the server with `NIKCLI_TEST_HOME` pointed at a throwaway directory — see [the guided tour](/docs/guides/api-tour).

## Operations

13 endpoints, generated from the server's own [OpenAPI document](/docs/api). Every path also accepts the `directory` and `workspace` query parameters that select which instance handles the request.

<table class="api-index not-prose"><tbody><tr><td class="api-index-method"><span class="api-method api-method-get">get</span></td><td><a href="#op-get-experimental-tool-ids">/experimental/tool/ids</a></td><td class="api-index-id">tool.ids</td></tr><tr><td class="api-index-method"><span class="api-method api-method-get">get</span></td><td><a href="#op-get-experimental-tool">/experimental/tool</a></td><td class="api-index-id">tool.list</td></tr><tr><td class="api-index-method"><span class="api-method api-method-get">get</span></td><td><a href="#op-get-experimental-worktree">/experimental/worktree</a></td><td class="api-index-id">worktree.list</td></tr><tr><td class="api-index-method"><span class="api-method api-method-post">post</span></td><td><a href="#op-post-experimental-worktree">/experimental/worktree</a></td><td class="api-index-id">worktree.create</td></tr><tr><td class="api-index-method"><span class="api-method api-method-delete">delete</span></td><td><a href="#op-delete-experimental-worktree">/experimental/worktree</a></td><td class="api-index-id">worktree.remove</td></tr><tr><td class="api-index-method"><span class="api-method api-method-post">post</span></td><td><a href="#op-post-experimental-worktree-reset">/experimental/worktree/reset</a></td><td class="api-index-id">worktree.reset</td></tr><tr><td class="api-index-method"><span class="api-method api-method-get">get</span></td><td><a href="#op-get-experimental-resource">/experimental/resource</a></td><td class="api-index-id">experimental.resource.list</td></tr><tr><td class="api-index-method"><span class="api-method api-method-get">get</span></td><td><a href="#op-get-experimental-managed-worktree">/experimental/managed-worktree</a></td><td class="api-index-id">managed-worktree.list</td></tr><tr><td class="api-index-method"><span class="api-method api-method-post">post</span></td><td><a href="#op-post-experimental-managed-worktree">/experimental/managed-worktree</a></td><td class="api-index-id">managed-worktree.create</td></tr><tr><td class="api-index-method"><span class="api-method api-method-delete">delete</span></td><td><a href="#op-delete-experimental-managed-worktree">/experimental/managed-worktree</a></td><td class="api-index-id">managed-worktree.remove</td></tr><tr><td class="api-index-method"><span class="api-method api-method-post">post</span></td><td><a href="#op-post-experimental-managed-worktree-link">/experimental/managed-worktree/link</a></td><td class="api-index-id">managed-worktree.link</td></tr><tr><td class="api-index-method"><span class="api-method api-method-get">get</span></td><td><a href="#op-get-experimental-managed-worktree-children">/experimental/managed-worktree/children</a></td><td class="api-index-id">managed-worktree.children</td></tr><tr><td class="api-index-method"><span class="api-method api-method-get">get</span></td><td><a href="#op-get-experimental-managed-worktree-ancestors">/experimental/managed-worktree/ancestors</a></td><td class="api-index-id">managed-worktree.ancestors</td></tr></tbody></table>

get /experimental/tool/ids [#](#op-get-experimental-tool-ids) `tool.ids`

Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| directory | query | string | optional |
| workspace | query | string | optional |

Responses

200 ToolIDs application/json

string\[\]

Example response captured

```
[
  "invalid",
  "question",
  "bash",
  "monitor",
  "read",
  "tree",
  "glob",
  "grep",
  "edit",
  "write",
  "multiedit",
  "task",
  "delegation",
  "context_collect",
  "context_related",
  "context_diagnostics",
  "memory_search",
  "generate_image",
  "artifact",
  "webfetch",
  "todowrite",
  "todoread",
  "create_goal",
  "get_goal",
  "update_goal",
  "websearch",
  "codesearch",
  "repo_clone",
  "repo_overview",
  "skill",
  "apply_patch",
  "lsp",
  "plan_exit",
  "plan_enter",
  "speak",
  "voice",
  "opentui",
  "plugin",
  "advisor",
  "delegator",
  "search_tools",
  "code_mode",
  "browser_control",
  "computer",
  "herdr"
]
```

SDK example

tool.ids

ts 

1

2

3

4

5

6

```
import { createNikcliClient } from "@nikcli-ai/sdk/httpapi"

const client = createNikcliClient()
await client.tool.ids({
  ...
})
```

Try it

directory _query_  workspace _query_

---

Source: https://nikcli-ai.dev/docs/api/experimental
