{
  "id": "karakeep",
  "name": "Karakeep CLI",
  "homepage": "https://karakeep.app/",
  "description": "CLI tool for the self-hostable bookmark-everything app.",
  "executables": [
    "karakeep"
  ],
  "dotfiles": {
    "paths": [],
    "secret": [
      "[configHome]/karakeep/config.json"
    ]
  },
  "commands": {
    "format": 1,
    "label": "Karakeep CLI",
    "description": "Add, list and search bookmarks. The server address and API key come from the config file or environment (KARAKEEP_SERVER_ADDR, KARAKEEP_API_KEY), not from this form; update, delete, lists and tags are left out.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": false,
      "short_attached": false,
      "short_bundles": false
    },
    "subcommand": [
      {
        "path": [
          "bookmarks",
          "add"
        ],
        "label": "Add bookmarks",
        "description": "Create bookmarks from links, notes or files.",
        "source": [
          {
            "id": "src",
            "kind": "help",
            "url": "https://github.com/karakeep-app/karakeep/blob/main/apps/cli/src/commands/bookmarks.ts",
            "revision": "main 2026-10-27",
            "evidence": ".command(\"add\")\n\"--link <link>\",\n\"the link to add. Specify multiple times to add multiple links\",\n\"--note <note>\",\n\"--asset <file>\",\n\"the file path of an asset (image or pdf) to add. Specify multiple times to add multiple assets\",\n\"--list-id <id>\",\n\"--tag-name <tag>\",\n\"--title <title>\",\n"
          }
        ],
        "field": [
          {
            "id": "link",
            "label": "Link",
            "type": "url",
            "option": [
              "--link"
            ],
            "multiple": true,
            "sources": [
              "src"
            ]
          },
          {
            "id": "note",
            "label": "Note text",
            "type": "string",
            "option": [
              "--note"
            ],
            "multiple": true,
            "sources": [
              "src"
            ]
          },
          {
            "id": "asset",
            "label": "Asset file (image or PDF)",
            "type": "path",
            "option": [
              "--asset"
            ],
            "multiple": true,
            "path": {
              "kind": "file",
              "role": "input",
              "must_exist": true
            },
            "sources": [
              "src"
            ]
          },
          {
            "id": "list_id",
            "label": "List ID",
            "type": "string",
            "option": [
              "--list-id"
            ],
            "sources": [
              "src"
            ]
          },
          {
            "id": "tag_name",
            "label": "Tag",
            "type": "string",
            "option": [
              "--tag-name"
            ],
            "multiple": true,
            "sources": [
              "src"
            ]
          },
          {
            "id": "title",
            "label": "Title",
            "type": "string",
            "option": [
              "--title"
            ],
            "sources": [
              "src"
            ]
          }
        ],
        "task": [
          {
            "id": "add-link",
            "label": "Add a link",
            "fields": [
              "link",
              "title",
              "tag_name",
              "list_id"
            ],
            "required": [
              "link"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "link",
              "note",
              "asset",
              "title"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "list_id",
              "tag_name"
            ]
          }
        ]
      },
      {
        "path": [
          "bookmarks",
          "search"
        ],
        "label": "Search bookmarks",
        "description": "Search with matchers such as tag:name or is:fav.",
        "source": [
          {
            "id": "src",
            "kind": "help",
            "url": "https://github.com/karakeep-app/karakeep/blob/main/apps/cli/src/commands/bookmarks.ts",
            "revision": "main 2026-10-27",
            "evidence": ".command(\"search\")\n\"<query>\",\n\"the search query (supports matchers like tag:name, is:fav, etc.)\",\n\"--limit <limit>\",\n\"--sort-order <order>\",\n\"sort order for results\",\nif (val !== \"relevance\" && val !== \"asc\" && val !== \"desc\") {\n\"--search-mode <mode>\",\nif (val !== \"fts\" && val !== \"semantic\" && val !== \"hybrid\") {\n\"--include-content\",\n.option(\"--all\", \"fetch all results (paginate through all pages)\", false)\n"
          }
        ],
        "field": [
          {
            "id": "query",
            "label": "Query",
            "type": "string",
            "position": 0,
            "sources": [
              "src"
            ]
          },
          {
            "id": "limit",
            "label": "Results per page",
            "type": "integer",
            "option": [
              "--limit"
            ],
            "sources": [
              "src"
            ]
          },
          {
            "id": "sort_order",
            "label": "Sort order",
            "type": "enum",
            "option": [
              "--sort-order"
            ],
            "choices": [
              {
                "value": "relevance",
                "label": "Relevance"
              },
              {
                "value": "asc",
                "label": "Oldest first"
              },
              {
                "value": "desc",
                "label": "Newest first"
              }
            ],
            "sources": [
              "src"
            ]
          },
          {
            "id": "search_mode",
            "label": "Search mode",
            "type": "enum",
            "option": [
              "--search-mode"
            ],
            "choices": [
              {
                "value": "fts",
                "label": "Full text"
              },
              {
                "value": "semantic",
                "label": "Semantic"
              },
              {
                "value": "hybrid",
                "label": "Hybrid"
              }
            ],
            "sources": [
              "src"
            ]
          },
          {
            "id": "include_content",
            "label": "Include full content",
            "type": "boolean",
            "option": [
              "--include-content"
            ],
            "sources": [
              "src"
            ]
          },
          {
            "id": "all",
            "label": "Fetch all pages",
            "type": "boolean",
            "option": [
              "--all"
            ],
            "sources": [
              "src"
            ]
          }
        ],
        "task": [
          {
            "id": "search",
            "label": "Search",
            "fields": [
              "query",
              "limit",
              "sort_order",
              "search_mode"
            ],
            "required": [
              "query"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "query",
              "limit",
              "sort_order",
              "search_mode"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "include_content",
              "all"
            ]
          }
        ]
      },
      {
        "path": [
          "bookmarks",
          "list"
        ],
        "label": "List bookmarks",
        "description": "List bookmarks, optionally for one list or tag.",
        "source": [
          {
            "id": "src",
            "kind": "help",
            "url": "https://github.com/karakeep-app/karakeep/blob/main/apps/cli/src/commands/bookmarks.ts",
            "revision": "main 2026-10-27",
            "evidence": ".command(\"list\")\n\"--include-archived\",\n\"--list-id <id>\", \"if set, only items from that list will be fetched\"\n\"--tag-id <id>\", \"if set, only items with that tag will be fetched\"\n\"--include-content\",\n\"--limit <limit>\",\n.option(\"--all\", \"fetch all bookmarks (paginate through all pages)\", false)\n"
          }
        ],
        "field": [
          {
            "id": "include_archived",
            "label": "Include archived",
            "type": "boolean",
            "option": [
              "--include-archived"
            ],
            "sources": [
              "src"
            ]
          },
          {
            "id": "list_id",
            "label": "Only this list ID",
            "type": "string",
            "option": [
              "--list-id"
            ],
            "sources": [
              "src"
            ]
          },
          {
            "id": "tag_id",
            "label": "Only this tag ID",
            "type": "string",
            "option": [
              "--tag-id"
            ],
            "sources": [
              "src"
            ]
          },
          {
            "id": "limit",
            "label": "Bookmarks per page",
            "type": "integer",
            "option": [
              "--limit"
            ],
            "sources": [
              "src"
            ]
          },
          {
            "id": "all",
            "label": "Fetch all pages",
            "type": "boolean",
            "option": [
              "--all"
            ],
            "sources": [
              "src"
            ]
          }
        ],
        "task": [
          {
            "id": "list",
            "label": "List bookmarks",
            "fields": [
              "include_archived",
              "list_id",
              "tag_id",
              "limit",
              "all"
            ],
            "required": []
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "include_archived",
              "list_id",
              "tag_id",
              "limit",
              "all"
            ]
          }
        ]
      }
    ]
  }
}
