Not in the top 1,000 by GitHub stars

Microck/kagi-cli

terminal CLI for Kagi that gives you command-line access to search, lenses, assistant, summarization, feeds, and paid API commands.

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

docs/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Not checked yet → After Network or broad shell

d7bf4f599b42 → 183a6d215c21

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → d7bf4f599b42

No earlier version was observed for comparison.

Compare on GitHub

skills/kagi-account-config/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Not checked yet → After Instructions only

d7bf4f599b42 → 183a6d215c21

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → d7bf4f599b42

No earlier version was observed for comparison.

Compare on GitHub

skills/kagi-ai/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Not checked yet → After Instructions only

d7bf4f599b42 → 183a6d215c21

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → d7bf4f599b42

No earlier version was observed for comparison.

Compare on GitHub

skills/kagi-assistant/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Not checked yet → After Instructions only

d7bf4f599b42 → 183a6d215c21

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → d7bf4f599b42

No earlier version was observed for comparison.

Compare on GitHub

skills/kagi-monitoring/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Not checked yet → After Instructions only

d7bf4f599b42 → 183a6d215c21

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → d7bf4f599b42

No earlier version was observed for comparison.

Compare on GitHub

skills/kagi-usage/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Not checked yet → After Instructions only

d7bf4f599b42 → 183a6d215c21

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → d7bf4f599b42

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 183a6d215c21bc04cf14aa8dea8730b4360e5c2c

git clone --filter=blob:none --no-checkout https://github.com/Microck/kagi-cli.git .hotskills/microck-kagi-cli && git -C .hotskills/microck-kagi-cli checkout --detach 183a6d215c21bc04cf14aa8dea8730b4360e5c2c # Copy each selected skill directory from .hotskills/microck-kagi-cli into .claude/skills/<skill-name>/
191GitHub stars
2stars in 7 days
6skills in this repository
21commits in 30 days

Heat

3.8
  • Star growth, last 7 daysNot available
  • Star growth, last 24 hoursNot available
  • Rank movement, last 7 daysNot available
  • Commits, last 30 daysNot available
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekNot available

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Oct 25, 2026Nov 2, 2026191

30-day change not yet available: not enough history.

Individual skills in this repository

How it works

kagi-cli

When your agent uses it

Terminal CLI for Kagi subscribers with search, quick answers, assistant, translate, summarization, batch processing, and JSON-first output for automation. Use this skill when the user mentions kagi, wants to search via kagi, needs CLI-based AI assistance, or wants terminal access to Kagi features.

What it loads into context

Frontmatter

165 tokens

Always available to the agent

SKILL.md

3,428 tokens

When the skill is activated

Reference documents

6,574 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. Overview
  2. Installation
  3. Authentication
  4. Commands
  5. Output Formats
  6. Shell Completions
  7. Common Workflows
  8. Input Requirements
  9. Constraints
  10. Error Handling
  11. Resources

Scripts executed separately

  • app/[[...slug]]/page.tsx
  • app/api/search/route.ts
  • app/layout.tsx
  • components/logo.tsx
  • e2e-runner.mjs
  • e2e.config.ts
  • lib/source.ts
  • mdx-components.tsx
  • next.config.mjs
  • package.json
  • postcss.config.mjs
  • source.config.ts
  • tests/config.test.mjs
  • tests/docs.e2e.ts
  • ../scripts/install.ps1
  • ../scripts/install.sh

Files

  • ../.claude-plugin/marketplace.jsonasset685 bytes
  • ../.claude-plugin/plugin.jsonasset518 bytes
  • .gitignoreasset58 bytes
  • README.mddoc686 bytes
  • SKILL.mdcore13,843 bytes
  • SKILL.mdcore13,843 bytes
  • SKILL.mdcore13,843 bytes
  • SKILL.mdcore13,843 bytes
  • SKILL.mdcore13,843 bytes
  • SKILL.mdcore13,843 bytes
  • SKILL.mdcore13,843 bytes
  • SKILL.mdcore13,843 bytes
  • SKILL.mdcore13,843 bytes
  • SKILL.mdcore13,843 bytes
  • SKILL.mdcore13,843 bytes
  • SKILL.mdcore13,843 bytes
  • SKILL.mdcore13,843 bytes
  • SKILL.mdcore13,843 bytes
  • SKILL.mdcore13,843 bytes
  • SKILL.mdcore13,843 bytes
  • SKILL.mdcore13,843 bytes
  • SKILL.mdcore13,843 bytes
  • SKILL.mdcore13,843 bytes
  • SKILL.mdcore13,843 bytes
  • SKILL.mdcore13,843 bytes
  • SKILL.mdcore13,843 bytes
  • SKILL.mdcore13,843 bytes
  • SKILL.mdcore13,843 bytes
  • SKILL.mdcore13,843 bytes
  • SKILL.mdcore13,843 bytes
  • SKILL.mdcore13,843 bytes
  • SKILL.mdcore13,843 bytes
  • SKILL.mdcore13,843 bytes
  • SKILL.mdcore13,843 bytes
  • SKILL.mdcore13,843 bytes
  • api-coverage.mddoc274 bytes
  • app/[[...slug]]/page.tsxruns1,401 bytes
  • app/api/search/route.tsruns153 bytes
  • app/global.cssasset393 bytes
  • app/layout.tsxruns826 bytes
  • components/logo.tsxruns576 bytes
  • content/docs/commands/ask-page.mdxasset3,249 bytes
  • content/docs/commands/assistant.mdxasset12,175 bytes
  • content/docs/commands/auth.mdxasset6,258 bytes
  • content/docs/commands/bang.mdxasset3,243 bytes
  • content/docs/commands/batch.mdxasset585 bytes
  • content/docs/commands/completion.mdxasset2,193 bytes
  • content/docs/commands/enrich.mdxasset3,541 bytes
  • content/docs/commands/extract.mdxasset4,118 bytes
  • content/docs/commands/fastgpt.mdxasset4,925 bytes
  • content/docs/commands/history.mdxasset496 bytes
  • content/docs/commands/lens.mdxasset3,742 bytes
  • content/docs/commands/mail.mdxasset7,172 bytes
  • content/docs/commands/mcp.mdxasset10,615 bytes
  • content/docs/commands/meta.jsonasset519 bytes
  • content/docs/commands/news.mdxasset6,974 bytes
  • content/docs/commands/notify.mdxasset871 bytes
  • content/docs/commands/quick.mdxasset5,107 bytes
  • content/docs/commands/redirect.mdxasset2,804 bytes
  • content/docs/commands/search.mdxasset13,606 bytes
  • content/docs/commands/site-pref.mdxasset885 bytes
  • content/docs/commands/skills.mdxasset2,382 bytes
  • content/docs/commands/smallweb.mdxasset2,529 bytes
  • content/docs/commands/summarize.mdxasset8,833 bytes
  • content/docs/commands/translate.mdxasset5,374 bytes
  • content/docs/commands/usage.mdxasset2,069 bytes
  • content/docs/commands/watch.mdxasset729 bytes
  • content/docs/guides/advanced-usage.mdxasset15,737 bytes
  • content/docs/guides/authentication.mdxasset23,439 bytes
  • content/docs/guides/installation.mdxasset13,818 bytes
  • content/docs/guides/meta.jsonasset228 bytes
  • content/docs/guides/quickstart.mdxasset14,166 bytes
  • content/docs/guides/troubleshooting.mdxasset18,663 bytes
  • content/docs/guides/workflows.mdxasset19,110 bytes
  • content/docs/index.mdxasset11,096 bytes
  • content/docs/meta.jsonasset110 bytes
  • content/docs/project/contributing.mdxasset2,338 bytes
  • content/docs/project/demos.mdxasset4,121 bytes
  • content/docs/project/development.mdxasset953 bytes
  • content/docs/project/meta.jsonasset174 bytes
  • content/docs/project/support.mdxasset771 bytes
  • content/docs/reference/auth-matrix.mdxasset16,489 bytes
  • content/docs/reference/coverage.mdxasset8,685 bytes
  • content/docs/reference/error-reference.mdxasset15,553 bytes
  • content/docs/reference/meta.jsonasset214 bytes
  • content/docs/reference/output-contract.mdxasset12,360 bytes
  • demo-assets/ask-page.gifasset14,367 bytes
  • demo-assets/assistant-custom.gifasset3,529 bytes
  • demo-assets/assistant.gifasset138,490 bytes
  • demo-assets/auth.gifasset62,749 bytes
  • demo-assets/bang-custom.gifasset3,407 bytes
  • demo-assets/lens.gifasset3,162 bytes
  • demo-assets/news.gifasset43,023 bytes
  • demo-assets/quick.gifasset35,842 bytes
  • demo-assets/redirect.gifasset3,261 bytes
  • demo-assets/search.gifasset23,901 bytes
  • demo-assets/summarize.gifasset33,851 bytes
  • demo-assets/translate.gifasset13,810 bytes
  • demos.mddoc5,710 bytes
  • e2e-runner.mjsruns836 bytes
  • e2e.config.tsruns384 bytes
  • lib/source.tsruns281 bytes
  • llms.txtdoc5,978 bytes
  • mdx-components.tsxruns610 bytes
  • next.config.mjsruns171 bytes
  • package.jsonruns905 bytes
  • pnpm-lock.yamlasset191,351 bytes
  • pnpm-workspace.yamlasset256 bytes
  • postcss.config.mjsruns81 bytes
  • public/images/demos/ask-page.gifasset14,367 bytes
  • public/images/demos/assistant-custom.gifasset3,529 bytes
  • public/images/demos/assistant.gifasset138,490 bytes
  • public/images/demos/auth.gifasset62,749 bytes
  • public/images/demos/bang-custom.gifasset3,407 bytes
  • public/images/demos/lens.gifasset3,162 bytes
  • public/images/demos/news.gifasset43,023 bytes
  • public/images/demos/quick.gifasset35,842 bytes
  • public/images/demos/redirect.gifasset3,261 bytes
  • public/images/demos/search.gifasset23,901 bytes
  • public/images/demos/summarize.gifasset33,851 bytes
  • public/images/demos/translate.gifasset13,810 bytes
  • public/images/favicon.pngasset7,331 bytes
  • public/images/kagi-cli-logo-dark.svgasset42,434 bytes
  • public/images/kagi-cli-logo-light.svgasset58,372 bytes
  • release-runbook.mddoc9,603 bytes
  • source.config.tsruns621 bytes
  • tests/config.test.mjsruns399 bytes
  • tests/docs.e2e.tsruns1,906 bytes
  • todo.mddoc9,589 bytes
  • tsconfig.jsonasset709 bytes
  • ../scripts/install.ps1runs2,235 bytes
  • ../scripts/install.shruns2,133 bytes
Read SKILL.md

## Overview

kagi-cli is a terminal CLI that provides command-line access to Kagi search, Quick Answer, AI Assistant, translation, summarization, public feeds through `news` and `smallweb`, and account-level search settings like lenses, custom assistants, custom bangs, and redirects. It outputs JSON by default for scripting and automation, with `--format pretty` for human-readable terminal output on the commands that support alternate renderers.

The CLI prioritizes the subscriber session-token path, so existing Kagi subscribers can use most features without paying for API access. Current `/api/v1` Search and Extract features use `KAGI_API_KEY`; legacy paid API features (summarize, fastgpt, enrich) use `KAGI_API_TOKEN`.

## Installation

```bash
# Homebrew (macOS/Linux)
brew tap Microck/kagi
brew install kagi

# Scoop (Windows)
View the complete source on GitHub

Skills included

  • kagi-cli
  • kagi-account-config
  • kagi-ai
  • kagi-assistant
  • kagi-monitoring
  • kagi-usage

Repository facts

License
MIT
Created
Mar 16, 2026
Last pushed
Nov 2, 2026
Forks
18
Open issues
0
Project activity
Active

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 6, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 72 notes
  • docs/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • docs/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • docs/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • docs/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • docs/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • docs/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • docs/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • docs/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • docs/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • docs/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • docs/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • docs/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • docs/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • docs/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • docs/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • docs/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • docs/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • docs/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • docs/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • docs/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 707 signals by file

.claude-plugin/marketplace.json

  • Network accessline 3
    "owner": {     "name": "Microck",     "url": "https://github.com/Microck"
  • Network accessline 4
    "name": "Microck",     "url": "https://github.com/Microck"   },
  • Network accessline 5
    "url": "https://github.com/Microck"
  • Network accessline 17
    "author": {         "name": "Microck",         "url": "https://github.com/Microck"
  • Network accessline 18
    "name": "Microck",         "url": "https://github.com/Microck"       },
  • Network accessline 19
    "url": "https://github.com/Microck"
  • Network accessline 20
    },       "homepage": "https://github.com/Microck/kagi-cli#readme",       "license": "MIT",
  • Network accessline 21
    "homepage": "https://github.com/Microck/kagi-cli#readme",

.claude-plugin/plugin.json

  • Network accessline 1
    { 	"$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json",
  • Network accessline 2
    "$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json",
  • Network accessline 6
    "author": {     "name": "Microck",     "url": "https://github.com/Microck"
  • Network accessline 7
    "name": "Microck",     "url": "https://github.com/Microck"   },
  • Network accessline 8
    "url": "https://github.com/Microck"
  • Network accessline 9
    },   "homepage": "https://github.com/Microck/kagi-cli#readme",   "repository": "https://github.com/Microck/kagi-cli",
  • Network accessline 10
    "homepage": "https://github.com/Microck/kagi-cli#readme",
  • Network accessline 11
    "repository": "https://github.com/Microck/kagi-cli",

docs/SKILL.md

  • Network accessline 7
    author: Microck   version: "0.4.6"   repository: https://github.com/Microck/kagi-cli
  • Network accessline 8
    version: "0.4.6"   repository: https://github.com/Microck/kagi-cli   npm: https://www.npmjs.com/package/kagi-cli
  • Network accessline 9
    repository: https://github.com/Microck/kagi-cli
  • Network accessline 10
    npm: https://www.npmjs.com/package/kagi-cli
  • Network accessline 11
    docs: https://kagi.micr.dev
  • Access to secretsline 18
    [Credential-related source omitted]
  • Network accessline 27
    # Scoop (Windows) scoop bucket add kagi https://github.com/Microck/scoop-kagi
  • Network accessline 28
    scoop bucket add kagi https://github.com/Microck/scoop-kagi
  • Network accessline 34
    # Direct install (macOS/Linux) curl -fsSL https://raw.githubusercontent.com/Microck/kagi-cli/main/scripts/install.sh | sh
  • Dangerous shell operationline 35
    curl -fsSL https://raw.githubusercontent.com/Microck/kagi-cli/main/scripts/install.sh | sh
  • Network accessline 35
    curl -fsSL https://raw.githubusercontent.com/Microck/kagi-cli/main/scripts/install.sh | sh
  • Network accessline 37
    # Direct install (Windows PowerShell) irm https://raw.githubusercontent.com/Microck/kagi-cli/main/scripts/install.ps1 | iex
  • Network accessline 38
    irm https://raw.githubusercontent.com/Microck/kagi-cli/main/scripts/install.ps1 | iex
  • Network accessline 58
    # Session token (from https://kagi.com/settings/user_details)
  • Network accessline 59
    [Credential-related source omitted]
  • Access to secretsline 62
    [Credential-related source omitted]
  • Network accessline 64
    # API key for current /api/v1 endpoints (from https://kagi.com/api/keys)
  • Access to secretsline 65
    [Credential-related source omitted]
  • Network accessline 67
    # Legacy API token for /api/v0 endpoints (from https://kagi.com/settings/api)
  • Access to secretsline 68
    [Credential-related source omitted]
  • Access to secretsline 76
    [Credential-related source omitted]
  • Network accessline 192
    # Get one thread as JSON kagi assistant thread get "<thread-id>" kagi assistant thread get "https://assistant.kagi.com/chat/<thread-id>"
  • Network accessline 194
    kagi assistant thread get "https://assistant.kagi.com/chat/<thread-id>"
  • Network accessline 229
    kagi ask-page https://example.com/article "What are the main points?"
  • Network accessline 237
    # Subscriber summarizer (free with subscription) kagi summarize --subscriber --url https://example.com
  • Network accessline 238
    kagi summarize --subscriber --url https://example.com
  • Network accessline 243
    # Paid API summarizer kagi summarize --url https://example.com --engine cecil
  • Network accessline 244
    kagi summarize --url https://example.com --engine cecil
  • Network accessline 312
    kagi bang custom list kagi bang custom get docs kagi bang custom create "Docs" --trigger docs --template "https://docs.rs/releases/search?query=%s"
  • Network accessline 313
    kagi bang custom get docs kagi bang custom create "Docs" --trigger docs --template "https://docs.rs/releases/search?query=%s" kagi bang custom update docs --shortcut-menu
  • Network accessline 314
    kagi bang custom create "Docs" --trigger docs --template "https://docs.rs/releases/search?query=%s"
  • Network accessline 324
    kagi redirect list kagi redirect get '^https://old.example.com/(.*)|https://new.example.com/$1'
  • Network accessline 325
    kagi redirect get '^https://old.example.com/(.*)|https://new.example.com/$1'
  • Network accessline 326
    kagi redirect create '^https://old.example.com/(.*)|https://new.example.com/$1'
  • Network accessline 327
    kagi redirect update '^https://old.example.com/(.*)|https://new.example.com/$1' '^https://old.example.com/(.*)|https://docs.example.com/$1'
  • Network accessline 328
    kagi redirect enable '^https://old.example.com/(.*)|https://docs.example.com/$1'
  • Network accessline 329
    kagi redirect disable '^https://old.example.com/(.*)|https://new.example.com/$1'
  • Network accessline 330
    kagi redirect delete '^https://old.example.com/(.*)|https://docs.example.com/$1'
  • Network accessline 478
    - Documentation: https://kagi.micr.dev
  • Network accessline 479
    - GitHub: https://github.com/Microck/kagi-cli
  • Network accessline 480
    - npm: https://www.npmjs.com/package/kagi-cli
  • Network accessline 481
    - Kagi: https://kagi.com
  • Network accessline 482
    - Auth Matrix: https://kagi.micr.dev/reference/auth-matrix

docs/app/[[...slug]]/page.tsx

  • Executable scriptline 1
    Executable file
  • Network accessline 21
    nav={{ title: <Logo /> }}       links={[         { text: 'GitHub', url: 'https://github.com/Microck/kagi-cli' },
  • Network accessline 22
    links={[         { text: 'GitHub', url: 'https://github.com/Microck/kagi-cli' },         { text: 'npm', url: 'https://www.npmjs.com/package/kagi-cli' },
  • Network accessline 23
    { text: 'GitHub', url: 'https://github.com/Microck/kagi-cli' },
  • Network accessline 24
    { text: 'npm', url: 'https://www.npmjs.com/package/kagi-cli' },
  • Network accessline 25
    { text: 'Kagi', url: 'https://kagi.com' },

docs/app/api/search/route.ts

  • Executable scriptline 1
    Executable file

docs/app/layout.tsx

  • Executable scriptline 1
    Executable file
  • Network accessline 11
    description:     'Documentation for the kagi CLI, a command-line interface and MCP server for Kagi search, summarization, extraction, and automation.',   metadataBase: new URL('https://kagi.micr.dev'),
  • Network accessline 12
    'Documentation for the kagi CLI, a command-line interface and MCP server for Kagi search, summarization, extraction, and automation.',   metadataBase: new URL('https://kagi.micr.dev'),   icons: '/images/favicon.png',
  • Network accessline 13
    metadataBase: new URL('https://kagi.micr.dev'),

docs/components/logo.tsx

  • Executable scriptline 1
    Executable file

docs/content/docs/commands/ask-page.mdx

  • Network accessline 51
    kagi ask-page https://rust-lang.org/ "What is this page about?"
  • Network accessline 52
    kagi ask-page https://kagi.com "Summarize the main product pitch"
  • Network accessline 62
    kagi ask-page https://rust-lang.org/ "What learning resources does this page link to?"
  • Network accessline 63
    kagi ask-page https://example.com "Give me the core claim in one sentence"
  • Network accessline 70
    "meta": {},   "source": {     "url": "https://rust-lang.org/",
  • Network accessline 71
    "source": {     "url": "https://rust-lang.org/",     "question": "What is this page about?"
  • Network accessline 72
    "url": "https://rust-lang.org/",
  • Network accessline 82
    "thread_id": "thread-1",     "state": "done",     "prompt": "https://rust-lang.org/\nWhat is this page about?",
  • Network accessline 83
    "state": "done",     "prompt": "https://rust-lang.org/\nWhat is this page about?",     "markdown": "This page is about the Rust programming language."
  • Network accessline 84
    "prompt": "https://rust-lang.org/\nWhat is this page about?",
  • Network accessline 95
    kagi ask-page https://rust-lang.org/ "What is this page about?"
  • Network accessline 101
    kagi ask-page https://rust-lang.org/ "What is this page about?" \
  • Network accessline 108
    THREAD_ID=$(   kagi ask-page https://rust-lang.org/ "What is this page about?" \
  • Network accessline 109
    kagi ask-page https://rust-lang.org/ "What is this page about?" \
  • Network accessline 119
    kagi ask-page https://example.com "Summarize the main argument" > page-analysis.json

docs/content/docs/commands/assistant.mdx

  • Network accessline 206
    kagi assistant thread get "$THREAD_ID" kagi assistant thread get "https://assistant.kagi.com/chat/$THREAD_ID"
  • Network accessline 207
    kagi assistant thread get "https://assistant.kagi.com/chat/$THREAD_ID"
  • Network accessline 325
    "prompt": "Hello",     "markdown": "Hi [^1]",     "references_markdown": "[^1]: [Example](https://example.com/)",
  • Network accessline 326
    "markdown": "Hi [^1]",     "references_markdown": "[^1]: [Example](https://example.com/)",     "documents": [],
  • Network accessline 327
    "references_markdown": "[^1]: [Example](https://example.com/)",

docs/content/docs/commands/auth.mdx

  • Network accessline 53
    https://kagi.com/settings/user_details
  • Network accessline 66
    https://kagi.com/api/keys
  • Network accessline 78
    https://kagi.com/settings/api
  • Access to secretsline 121
    [Credential-related source omitted]
  • Network accessline 151
    [Credential-related source omitted]
  • Network accessline 152
    [Credential-related source omitted]
  • Network accessline 153
    [Credential-related source omitted]
  • Network accessline 154
    [Credential-related source omitted]
  • Network accessline 155
    [Credential-related source omitted]
  • Access to secretsline 175
    [Credential-related source omitted]
  • Access to secretsline 184
    [Credential-related source omitted]
  • Network accessline 211
    [Credential-related source omitted]

docs/content/docs/commands/bang.mdx

  • Network accessline 60
    kagi bang custom create "Rust Docs" \   --trigger rustdocs \   --template "https://doc.rust-lang.org/std/?search=%s" \
  • Network accessline 61
    --trigger rustdocs \   --template "https://doc.rust-lang.org/std/?search=%s" \   --shortcut-menu \
  • Network accessline 62
    --template "https://doc.rust-lang.org/std/?search=%s" \
  • Network accessline 72
    kagi bang custom update rustdocs \   --template "https://doc.rust-lang.org/std/?search=%s" \
  • Network accessline 73
    --template "https://doc.rust-lang.org/std/?search=%s" \
  • Network accessline 106
    "name": "Rust Docs",   "trigger": "rustdocs",   "template": "https://doc.rust-lang.org/std/?search=%s",
  • Network accessline 107
    "trigger": "rustdocs",   "template": "https://doc.rust-lang.org/std/?search=%s",   "snap_domain": "",
  • Network accessline 108
    "template": "https://doc.rust-lang.org/std/?search=%s",
  • Network accessline 132
    kagi bang custom create "Rust Docs" \   --trigger rustdocs \   --template "https://doc.rust-lang.org/std/?search=%s"
  • Network accessline 134
    --template "https://doc.rust-lang.org/std/?search=%s"

docs/content/docs/commands/enrich.mdx

  • Network accessline 75
    {       "title": "Result Title",       "url": "https://example.com",
  • Network accessline 76
    "title": "Result Title",       "url": "https://example.com",       "snippet": "Description...",
  • Network accessline 77
    "url": "https://example.com",
  • Network accessline 96
    {       "title": "News Headline",       "url": "https://news.example.com/story",
  • Network accessline 97
    "title": "News Headline",       "url": "https://news.example.com/story",       "snippet": "Article summary...",
  • Network accessline 98
    "url": "https://news.example.com/story",

docs/content/docs/commands/extract.mdx

  • Access to secretsline 27
    [Credential-related source omitted]
  • Network accessline 38
    kagi extract "https://example.com/article"
  • Network accessline 41
    Only `https://` URLs with a valid host are accepted.
  • Network accessline 82
    "data": [     {       "url": "https://example.com/article",
  • Network accessline 83
    {       "url": "https://example.com/article",       "markdown": "# Article title\n\nExtracted page content...",
  • Network accessline 84
    "url": "https://example.com/article",
  • Network accessline 87
    {           "text": "Source",           "url": "https://example.com/"
  • Network accessline 88
    "text": "Source",           "url": "https://example.com/"         }
  • Network accessline 89
    "url": "https://example.com/"
  • Network accessline 100
    {"url":"https://example.com/article","ok":true,"response":{"meta":{"trace":"trace-1","node":"test","ms":12},"data":[{"url":"https://example.com/article","markdown":"# Article title\n\nExtracted page content...","links":[]}]}}
  • Network accessline 101
    {"url":"http://example.com/bad","ok":false,"error":{"code":"configuration_error","category":"configuration","retryable":false,"message":"configuration error: extract URL must use the https scheme","suggested_commands":[],"docs_url":"https:/
  • Network accessline 109
    kagi extract "https://example.com/article" > article.md
  • Network accessline 115
    kagi extract "https://example.com/article" | sed -n '1,80p'
  • Network accessline 121
    kagi extract "https://example.com/article" --format json | jq '.data[0].links'

docs/content/docs/commands/mail.mdx

  • Network accessline 19
    [mail] endpoint = "https://mail.example.com/mcp"
  • Network accessline 20
    endpoint = "https://mail.example.com/mcp"
  • Access to secretsline 37
    [Credential-related source omitted]
  • Network accessline 76
    In [Kagi Mail External Clients](https://kagimail.com/settings/external-clients),
  • Access to secretsline 128
    [Credential-related source omitted]

docs/content/docs/commands/mcp.mdx

  • Access to secretsline 83
    [Credential-related source omitted]
  • Access to secretsline 84
    [Credential-related source omitted]
  • Access to secretsline 88
    [Credential-related source omitted]

docs/content/docs/commands/news.mdx

  • Network accessline 311
    - Check internet connection - Verify DNS resolution: `nslookup kagi.com` - Try with curl: `curl https://kagi.com`
  • Network accessline 313
    - Try with curl: `curl https://kagi.com`

docs/content/docs/commands/notify.mdx

  • Network accessline 38
    kagi notify --query "kagi-cli release" --webhook-url https://example.com/webhook --change-only

docs/content/docs/commands/quick.mdx

  • Network accessline 32
    [Credential-related source omitted]
  • Network accessline 34
    [Credential-related source omitted]
  • Network accessline 110
    },   "references": {     "markdown": "[^1]: [Rust](https://www.rust-lang.org/) (26%)",
  • Network accessline 111
    "references": {     "markdown": "[^1]: [Rust](https://www.rust-lang.org/) (26%)",     "items": [
  • Network accessline 112
    "markdown": "[^1]: [Rust](https://www.rust-lang.org/) (26%)",
  • Network accessline 116
    "title": "Rust",         "domain": "www.rust-lang.org",         "url": "https://www.rust-lang.org/",
  • Network accessline 117
    "domain": "www.rust-lang.org",         "url": "https://www.rust-lang.org/",         "contribution_pct": 26
  • Network accessline 118
    "url": "https://www.rust-lang.org/",

docs/content/docs/commands/redirect.mdx

  • Network accessline 33
    kagi redirect create "^gh/(.+)$|https://github.com/$1"
  • Network accessline 51
    kagi redirect get "^gh/(.+)$|https://github.com/$1"
  • Network accessline 59
    kagi redirect create "^gh/(.+)$|https://github.com/$1"
  • Network accessline 67
    kagi redirect update "12" "^gh/(.+)$|https://github.com/$1"
  • Network accessline 100
    {     "id": "12",     "rule": "^gh/(.+)$|https://github.com/$1",
  • Network accessline 101
    "id": "12",     "rule": "^gh/(.+)$|https://github.com/$1",     "enabled": true,
  • Network accessline 102
    "rule": "^gh/(.+)$|https://github.com/$1",
  • Network accessline 112
    {   "rule_id": "12",   "rule": "^gh/(.+)$|https://github.com/$1",
  • Network accessline 113
    "rule_id": "12",   "rule": "^gh/(.+)$|https://github.com/$1",   "enabled": true
  • Network accessline 114
    "rule": "^gh/(.+)$|https://github.com/$1",
  • Network accessline 141
    kagi redirect create "^gh/(.+)$|https://github.com/$1"
  • Network accessline 143
    kagi redirect enable "^gh/(.+)$|https://github.com/$1"

docs/content/docs/commands/search.mdx

  • Access to secretsline 24
    [Credential-related source omitted]
  • Access to secretsline 41
    [Credential-related source omitted]
  • Access to secretsline 57
    [Credential-related source omitted]
  • Access to secretsline 232
    [Credential-related source omitted]
  • Network accessline 245
    "data": [{     "title": "Sea otter",     "image_url": "https://images.example/otter.jpg",
  • Network accessline 246
    "title": "Sea otter",     "image_url": "https://images.example/otter.jpg",     "source_url": "https://example.org/otter",
  • Network accessline 247
    "image_url": "https://images.example/otter.jpg",
  • Network accessline 248
    "source_url": "https://example.org/otter",
  • Network accessline 249
    "thumbnail_url": "https://proxy.example/thumb",
  • Network accessline 287
    "rank": 1,       "title": "Rust Programming Language",       "url": "https://www.rust-lang.org",
  • Network accessline 288
    "title": "Rust Programming Language",       "url": "https://www.rust-lang.org",       "snippet": "A language empowering everyone to build reliable and efficient software.",
  • Network accessline 289
    "url": "https://www.rust-lang.org",
  • Access to secretsline 297
    [Credential-related source omitted]
  • Network accessline 307
    {           "title": "Lead headline",           "url": "https://www.example.com/article",
  • Network accessline 308
    "title": "Lead headline",           "url": "https://www.example.com/article",           "source": "example.com",
  • Network accessline 309
    "url": "https://www.example.com/article",
  • Network accessline 312
    "snippet": "Optional snippet text.",           "paywall": false,           "image_url": "https://img.example/lead.jpg"
  • Network accessline 313
    "paywall": false,           "image_url": "https://img.example/lead.jpg"         }
  • Network accessline 314
    "image_url": "https://img.example/lead.jpg"

docs/content/docs/commands/summarize.mdx

  • Network accessline 67
    kagi summarize --url https://example.com/article
  • Network accessline 83
    Read URLs or text items from stdin, one item per line, and summarize each item. Lines starting with `http://` or `https://` are sent as URLs; all other lines are sent as text. Prints one compact JSON record per input line in the same order:
  • Network accessline 99
    kagi summarize --subscriber --url https://example.com
  • Network accessline 115
    kagi summarize --url https://example.com --engine cecil
  • Network accessline 127
    kagi summarize --url https://example.com --cache false
  • Network accessline 145
    kagi summarize --subscriber --url https://example.com --length digest
  • Network accessline 159
    kagi summarize --subscriber --url https://example.com --summary-type keypoints
  • Network accessline 170
    kagi summarize --url https://example.com --target-language es
  • Network accessline 221
    # Basic URL summarization kagi summarize --url https://www.rust-lang.org
  • Network accessline 222
    kagi summarize --url https://www.rust-lang.org
  • Network accessline 224
    # With specific engine kagi summarize --url https://example.com --engine cecil
  • Network accessline 225
    kagi summarize --url https://example.com --engine cecil
  • Network accessline 227
    # Disable caching kagi summarize --url https://example.com --cache false
  • Network accessline 228
    kagi summarize --url https://example.com --cache false
  • Network accessline 237
    # Basic subscriber summarization kagi summarize --subscriber --url https://www.rust-lang.org
  • Network accessline 238
    kagi summarize --subscriber --url https://www.rust-lang.org
  • Network accessline 240
    # Key points format kagi summarize --subscriber --url https://example.com --summary-type keypoints
  • Network accessline 241
    kagi summarize --subscriber --url https://example.com --summary-type keypoints
  • Network accessline 243
    # Short length kagi summarize --subscriber --url https://example.com --length overview
  • Network accessline 244
    kagi summarize --subscriber --url https://example.com --length overview
  • Network accessline 246
    # Full options kagi summarize --subscriber --url https://example.com --summary-type keypoints --length digest --target-language en
  • Network accessline 247
    kagi summarize --subscriber --url https://example.com --summary-type keypoints --length digest --target-language en
  • Network accessline 253
    # Extract just the summary text kagi summarize --url https://example.com | jq -r '.data.output'
  • Network accessline 254
    kagi summarize --url https://example.com | jq -r '.data.output'
  • Network accessline 256
    # Save to file kagi summarize --url https://example.com > summary.json
  • Network accessline 257
    kagi summarize --url https://example.com > summary.json
  • Network accessline 286
    URLS=(   "https://example.com/article1"
  • Network accessline 287
    "https://example.com/article1"
  • Network accessline 288
    "https://example.com/article2"
  • Network accessline 337
    [Credential-related source omitted]
  • Network accessline 344
    # Wrong kagi summarize --url https://example.com --length digest
  • Network accessline 345
    kagi summarize --url https://example.com --length digest
  • Network accessline 347
    # Right kagi summarize --subscriber --url https://example.com --length digest
  • Network accessline 348
    kagi summarize --subscriber --url https://example.com --length digest
  • Network accessline 355
    # Right (public API) kagi summarize --url https://example.com --engine cecil
  • Network accessline 356
    kagi summarize --url https://example.com --engine cecil
  • Network accessline 358
    # Wrong (subscriber mode doesn't support engine selection) kagi summarize --subscriber --url https://example.com --engine cecil
  • Network accessline 359
    kagi summarize --subscriber --url https://example.com --engine cecil

docs/content/docs/commands/translate.mdx

  • Network accessline 42
    [Credential-related source omitted]
  • Network accessline 47
    The CLI uses your existing `KAGI_SESSION_TOKEN` to fetch `https://translate.kagi.com/`, reads the returned `translate_session` cookie from `Set-Cookie`, then uses normal Rust HTTP requests for the rest of the flow.
  • Network accessline 250
    [Credential-related source omitted]

docs/content/docs/guides/advanced-usage.mdx

  • Dangerous shell operationline 58
    sudo apt-get install jq
  • Dangerous shell operationline 61
    sudo yum install jq
  • Network accessline 101
    # From summarize output kagi summarize --url https://example.com | jq -r '.data.output'
  • Network accessline 102
    kagi summarize --url https://example.com | jq -r '.data.output'
  • Network accessline 137
    [Credential-related source omitted]
  • Network accessline 138
    [Credential-related source omitted]
  • Access to secretsline 138
    [Credential-related source omitted]
  • Network accessline 154
    [Credential-related source omitted]
  • Network accessline 155
    [Credential-related source omitted]
  • Network accessline 156
    [Credential-related source omitted]
  • Access to secretsline 156
    [Credential-related source omitted]
  • Network accessline 188
    <!-- ~/Library/LaunchAgents/com.user.kagi.news.plist --> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  • Network accessline 189
    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0">
  • Network accessline 190
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  • Network accessline 250
    - name: Install kagi         run: |           curl -fsSL https://raw.githubusercontent.com/Microck/kagi-cli/main/scripts/install.sh | sh
  • Network accessline 251
    run: |           curl -fsSL https://raw.githubusercontent.com/Microck/kagi-cli/main/scripts/install.sh | sh           echo "$HOME/.local/bin" >> $GITHUB_PATH
  • Dangerous shell operationline 252
    curl -fsSL https://raw.githubusercontent.com/Microck/kagi-cli/main/scripts/install.sh | sh
  • Network accessline 252
    curl -fsSL https://raw.githubusercontent.com/Microck/kagi-cli/main/scripts/install.sh | sh
  • Access to secretsline 276
    [Credential-related source omitted]
  • Network accessline 280
    image: alpine:latest   before_script:     - apk add --no-cache curl jq
  • Network accessline 281
    before_script:     - apk add --no-cache curl jq     - curl -fsSL https://raw.githubusercontent.com/Microck/kagi-cli/main/scripts/install.sh | sh
  • Network accessline 282
    - apk add --no-cache curl jq
  • Dangerous shell operationline 283
    - curl -fsSL https://raw.githubusercontent.com/Microck/kagi-cli/main/scripts/install.sh | sh
  • Network accessline 283
    - curl -fsSL https://raw.githubusercontent.com/Microck/kagi-cli/main/scripts/install.sh | sh
  • Network accessline 308
    name: Install kagi           command: |             curl -fsSL https://raw.githubusercontent.com/Microck/kagi-cli/main/scripts/install.sh | sh
  • Network accessline 309
    command: |             curl -fsSL https://raw.githubusercontent.com/Microck/kagi-cli/main/scripts/install.sh | sh             echo 'export PATH="$HOME/.local/bin:$PATH"' >> $BASH_ENV
  • Dangerous shell operationline 310
    curl -fsSL https://raw.githubusercontent.com/Microck/kagi-cli/main/scripts/install.sh | sh
  • Network accessline 310
    curl -fsSL https://raw.githubusercontent.com/Microck/kagi-cli/main/scripts/install.sh | sh
  • Access to secretsline 315
    [Credential-related source omitted]
  • Network accessline 328
    # Install dependencies RUN apk add --no-cache curl jq
  • Network accessline 329
    RUN apk add --no-cache curl jq
  • Network accessline 331
    # Install kagi RUN curl -fsSL https://raw.githubusercontent.com/Microck/kagi-cli/main/scripts/install.sh | sh
  • Dangerous shell operationline 332
    RUN curl -fsSL https://raw.githubusercontent.com/Microck/kagi-cli/main/scripts/install.sh | sh
  • Network accessline 332
    RUN curl -fsSL https://raw.githubusercontent.com/Microck/kagi-cli/main/scripts/install.sh | sh
  • Access to secretsline 351
    [Credential-related source omitted]
  • Access to secretsline 568
    [Credential-related source omitted]
  • Access to secretsline 674
    [Credential-related source omitted]
  • Dangerous shell operationline 680
    [ -n "$TEMP_FILE" ] && rm -f "$TEMP_FILE"
  • Access to secretsline 697
    [Credential-related source omitted]

docs/content/docs/guides/authentication.mdx

  • Access to secretsline 54
    [Credential-related source omitted]
  • Network accessline 58
    **Where it comes from:** Generated in the Kagi API dashboard at `https://kagi.com/api/keys`.
  • Access to secretsline 101
    [Credential-related source omitted]
  • Network accessline 114
    1. **Log into Kagi** at [kagi.com](https://kagi.com)
  • Network accessline 115
    2. **Open** [Session Link settings](https://kagi.com/settings/user_details)
  • Network accessline 118
    [Credential-related source omitted]
  • Network accessline 132
    1. **Log into Kagi** at [kagi.com](https://kagi.com)
  • Network accessline 133
    2. **Open** [API keys](https://kagi.com/api/keys)
  • Network accessline 185
    [Credential-related source omitted]
  • Access to secretsline 185
    [Credential-related source omitted]
  • Access to secretsline 186
    [Credential-related source omitted]
  • Network accessline 191
    [Credential-related source omitted]
  • Network accessline 197
    [Credential-related source omitted]
  • Access to secretsline 197
    [Credential-related source omitted]
  • Access to secretsline 198
    [Credential-related source omitted]
  • Network accessline 203
    [Credential-related source omitted]
  • Network accessline 209
    [Credential-related source omitted]
  • Access to secretsline 209
    [Credential-related source omitted]
  • Access to secretsline 210
    [Credential-related source omitted]
  • Network accessline 234
    [Credential-related source omitted]
  • Network accessline 236
    [Credential-related source omitted]
  • Network accessline 250
    [Credential-related source omitted]
  • Network accessline 251
    [Credential-related source omitted]
  • Access to secretsline 254
    [Credential-related source omitted]
  • Network accessline 259
    [Credential-related source omitted]
  • Network accessline 260
    [Credential-related source omitted]
  • Access to secretsline 260
    [Credential-related source omitted]
  • Network accessline 272
    [Credential-related source omitted]
  • Network accessline 273
    [Credential-related source omitted]
  • Network accessline 274
    [Credential-related source omitted]
  • Network accessline 284
    [Credential-related source omitted]
  • Network accessline 285
    [Credential-related source omitted]
  • Network accessline 286
    [Credential-related source omitted]
  • Access to secretsline 297
    [Credential-related source omitted]
  • Network accessline 314
    [Credential-related source omitted]
  • Network accessline 316
    [Credential-related source omitted]
  • Network accessline 318
    [Credential-related source omitted]
  • Network accessline 319
    [Credential-related source omitted]
  • Access to secretsline 319
    [Credential-related source omitted]
  • Access to secretsline 398
    [Credential-related source omitted]
  • Access to secretsline 421
    [Credential-related source omitted]
  • Access to secretsline 435
    [Credential-related source omitted]
  • Access to secretsline 502
    [Credential-related source omitted]
  • Access to secretsline 510
    [Credential-related source omitted]
  • Access to secretsline 518
    [Credential-related source omitted]
  • Access to secretsline 519
    [Credential-related source omitted]
  • Access to secretsline 555
    [Credential-related source omitted]
  • Access to secretsline 561
    [Credential-related source omitted]
  • Access to secretsline 565
    [Credential-related source omitted]
  • Access to secretsline 589
    [Credential-related source omitted]
  • Access to secretsline 598
    [Credential-related source omitted]
  • Access to secretsline 606
    [Credential-related source omitted]
  • Network accessline 611
    # Dockerfile FROM alpine RUN apk add --no-cache curl && \
  • Network accessline 612
    FROM alpine RUN apk add --no-cache curl && \     curl -fsSL ... | sh
  • Dangerous shell operationline 613
    RUN apk add --no-cache curl &&      curl -fsSL ... | sh
  • Network accessline 613
    RUN apk add --no-cache curl && \
  • Dangerous shell operationline 614
    curl -fsSL ... | sh
  • Network accessline 614
    curl -fsSL ... | sh
  • Access to secretsline 620
    [Credential-related source omitted]
  • Access to secretsline 634
    [Credential-related source omitted]
  • Network accessline 641
    [Credential-related source omitted]
  • Access to secretsline 653
    [Credential-related source omitted]
  • Access to secretsline 686
    [Credential-related source omitted]
  • Access to secretsline 712
    [Credential-related source omitted]
  • Network accessline 722
    [Credential-related source omitted]
  • Network accessline 723
    [Credential-related source omitted]
  • Access to secretsline 731
    [Credential-related source omitted]
  • Access to secretsline 734
    [Credential-related source omitted]
  • Access to secretsline 738
    [Credential-related source omitted]
  • Access to secretsline 751
    [Credential-related source omitted]
  • Access to secretsline 761
    [Credential-related source omitted]
  • Access to secretsline 765
    [Credential-related source omitted]

docs/content/docs/guides/installation.mdx

  • Dangerous shell operationline 31
    curl -fsSL https://raw.githubusercontent.com/Microck/kagi-cli/main/scripts/install.sh | sh
  • Network accessline 31
    curl -fsSL https://raw.githubusercontent.com/Microck/kagi-cli/main/scripts/install.sh | sh
  • Network accessline 53
    irm https://raw.githubusercontent.com/Microck/kagi-cli/main/scripts/install.ps1 | iex
  • Dangerous shell operationline 72
    - **No sudo required**: Installs to user directories, not system directories
  • Network accessline 128
    scoop bucket add kagi https://github.com/Microck/scoop-kagi
  • Network accessline 182
    cargo install --git https://github.com/Microck/kagi-cli
  • Network accessline 188
    git clone https://github.com/Microck/kagi-cli.git
  • Network accessline 221
    1. Visit the [GitHub Releases page](https://github.com/Microck/kagi-cli/releases) 2. Choose the latest release (or a specific version) 3. Download the appropriate asset for your platform:
  • Dangerous shell operationline 258
    sudo mv kagi /usr/local/bin/
  • Dangerous shell operationline 298
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  • Network accessline 298
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  • Network accessline 311
    git clone https://github.com/Microck/kagi-cli.git
  • Network accessline 460
    [Credential-related source omitted]
  • Network accessline 461
    [Credential-related source omitted]
  • Network accessline 517
    1. Check the [GitHub Releases](https://github.com/Microck/kagi-cli/releases) for your platform
  • Network accessline 558
    # Cargo cargo install --git https://github.com/Microck/kagi-cli --force
  • Network accessline 559
    cargo install --git https://github.com/Microck/kagi-cli --force
  • Dangerous shell operationline 570
    rm ~/.local/bin/kagi
  • Dangerous shell operationline 573
    rm ~/.config/kagi-cli/config.toml
  • Network accessline 617
    *Need help? See the [Troubleshooting](/guides/troubleshooting) guide or open an issue on [GitHub](https://github.com/Microck/kagi-cli/issues).*

docs/content/docs/guides/quickstart.mdx

  • Network accessline 45
    {       "title": "Example News Story",       "url": "https://example.com/news/123",
  • Network accessline 46
    "title": "Example News Story",       "url": "https://example.com/news/123",       "snippet": "Summary of the news story..."
  • Network accessline 47
    "url": "https://example.com/news/123",
  • Network accessline 104
    1. **Log into Kagi** in your web browser 2. **Open** [Session Link settings](https://kagi.com/settings/user_details)
  • Network accessline 105
    2. **Open** [Session Link settings](https://kagi.com/settings/user_details)
  • Network accessline 107
    [Credential-related source omitted]
  • Network accessline 130
    [Credential-related source omitted]
  • Access to secretsline 130
    [Credential-related source omitted]
  • Network accessline 150
    [Credential-related source omitted]
  • Network accessline 205
    # Ask Assistant about a page kagi ask-page https://rust-lang.org/ "What is this page about?"
  • Network accessline 206
    kagi ask-page https://rust-lang.org/ "What is this page about?"
  • Network accessline 217
    # Test subscriber Summarizer kagi summarize --subscriber --url https://www.rust-lang.org --summary-type keypoints --length digest
  • Network accessline 218
    kagi summarize --subscriber --url https://www.rust-lang.org --summary-type keypoints --length digest
  • Network accessline 247
    1. **Log into Kagi** in your web browser 2. **Open** [API keys](https://kagi.com/api/keys)
  • Network accessline 248
    2. **Open** [API keys](https://kagi.com/api/keys)
  • Access to secretsline 267
    [Credential-related source omitted]
  • Network accessline 284
    # Test public Summarizer kagi summarize --url https://example.com --engine cecil
  • Network accessline 285
    kagi summarize --url https://example.com --engine cecil
  • Access to secretsline 340
    [Credential-related source omitted]
  • Access to secretsline 353
    [Credential-related source omitted]
  • Access to secretsline 354
    [Credential-related source omitted]
  • Access to secretsline 361
    [Credential-related source omitted]
  • Access to secretsline 362
    [Credential-related source omitted]
  • Access to secretsline 377
    [Credential-related source omitted]
  • Access to secretsline 378
    [Credential-related source omitted]
  • Network accessline 418
    # Summarize a relevant article kagi summarize --subscriber --url https://doc.rust-lang.org/book/ch09-00-error-handling.html --summary-type keypoints
  • Network accessline 419
    kagi summarize --subscriber --url https://doc.rust-lang.org/book/ch09-00-error-handling.html --summary-type keypoints
  • Network accessline 431
    URLS=(   "https://example.com/article1"
  • Network accessline 432
    "https://example.com/article1"
  • Network accessline 433
    "https://example.com/article2"
  • Network accessline 434
    "https://example.com/article3"
  • Network accessline 483
    kagi summarize --url https://example.com                    # Public API
  • Network accessline 484
    kagi summarize --subscriber --url https://example.com       # Subscriber
  • Access to secretsline 526
    [Credential-related source omitted]

docs/content/docs/guides/troubleshooting.mdx

  • Network accessline 25
    - `HTTP 401` or `HTTP 403` usually means the API token or session token was rejected. Run `kagi auth` and paste a fresh token from Kagi settings. - `; response body: ...` is a short server diagnostic. It can explain account state, insuffici
  • Network accessline 26
    - `; response body: ...` is a short server diagnostic. It can explain account state, insufficient credit, rate limits, or an expired session. - `request to https://...` identifies the Kagi surface that failed. This helps separate Search API
  • Network accessline 27
    - `request to https://...` identifies the Kagi surface that failed. This helps separate Search API issues from subscriber web-product issues.
  • Network accessline 88
    # Or reinstall via script which sets permissions automatically curl -fsSL https://raw.githubusercontent.com/Microck/kagi-cli/main/scripts/install.sh | sh
  • Dangerous shell operationline 89
    curl -fsSL https://raw.githubusercontent.com/Microck/kagi-cli/main/scripts/install.sh | sh
  • Network accessline 89
    curl -fsSL https://raw.githubusercontent.com/Microck/kagi-cli/main/scripts/install.sh | sh
  • Network accessline 118
    # Try with explicit DNS curl --resolve raw.githubusercontent.com:443:185.199.108.133 \
  • Dangerous shell operationline 119
    curl --resolve raw.githubusercontent.com:443:185.199.108.133    -fsSL https://raw.githubusercontent.com/... | sh
  • Network accessline 119
    curl --resolve raw.githubusercontent.com:443:185.199.108.133 \
  • Network accessline 120
    -fsSL https://raw.githubusercontent.com/... | sh
  • Network accessline 125
    # Set proxy for curl export HTTPS_PROXY=http://proxy.company.com:8080
  • Network accessline 126
    export HTTPS_PROXY=http://proxy.company.com:8080
  • Dangerous shell operationline 127
    curl -fsSL https://raw.githubusercontent.com/... | sh
  • Network accessline 127
    curl -fsSL https://raw.githubusercontent.com/... | sh
  • Network accessline 132
    # Download script curl -fsSL https://raw.githubusercontent.com/Microck/kagi-cli/main/scripts/install.sh -o install-kagi.sh
  • Network accessline 133
    curl -fsSL https://raw.githubusercontent.com/Microck/kagi-cli/main/scripts/install.sh -o install-kagi.sh
  • Access to secretsline 148
    [Credential-related source omitted]
  • Access to secretsline 158
    [Credential-related source omitted]
  • Access to secretsline 159
    [Credential-related source omitted]
  • Network accessline 170
    [Credential-related source omitted]
  • Access to secretsline 170
    [Credential-related source omitted]
  • Network accessline 179
    [Credential-related source omitted]
  • Network accessline 183
    [Credential-related source omitted]
  • Network accessline 184
    [Credential-related source omitted]
  • Network accessline 185
    [Credential-related source omitted]
  • Access to secretsline 241
    [Credential-related source omitted]
  • Access to secretsline 273
    [Credential-related source omitted]
  • Access to secretsline 282
    [Credential-related source omitted]
  • Access to secretsline 294
    [Credential-related source omitted]
  • Network accessline 308
    [Credential-related source omitted]
  • Network accessline 309
    [Credential-related source omitted]
  • Network accessline 317
    [Credential-related source omitted]
  • Network accessline 318
    [Credential-related source omitted]
  • Network accessline 344
    # Test connectivity curl -I https://kagi.com
  • Network accessline 345
    curl -I https://kagi.com
  • Network accessline 370
    # Update to latest curl -fsSL https://raw.githubusercontent.com/Microck/kagi-cli/main/scripts/install.sh | sh
  • Dangerous shell operationline 371
    curl -fsSL https://raw.githubusercontent.com/Microck/kagi-cli/main/scripts/install.sh | sh
  • Network accessline 371
    curl -fsSL https://raw.githubusercontent.com/Microck/kagi-cli/main/scripts/install.sh | sh
  • Dangerous shell operationline 404
    echo 'nameserver 8.8.8.8' | sudo tee /etc/resolv.conf
  • Dangerous shell operationline 480
    sudo spctl --master-disable
  • Dangerous shell operationline 481
    # Re-enable after: sudo spctl --master-enable
  • Network accessline 503
    # Replace vX.Y.Z with a release tag that includes musl assets. # Use aarch64-unknown-linux-musl for ARM64. wget https://github.com/Microck/kagi-cli/releases/download/vX.Y.Z/kagi-vX.Y.Z-x86_64-unknown-linux-musl.tar.gz
  • Network accessline 505
    wget https://github.com/Microck/kagi-cli/releases/download/vX.Y.Z/kagi-vX.Y.Z-x86_64-unknown-linux-musl.tar.gz
  • Dangerous shell operationline 511
    sudo apt-get install -y libssl-dev
  • Dangerous shell operationline 514
    sudo yum install -y openssl-devel
  • Network accessline 550
    # Set proxy environment variables export HTTPS_PROXY=http://proxy.company.com:8080
  • Network accessline 551
    export HTTPS_PROXY=http://proxy.company.com:8080
  • Network accessline 552
    export HTTP_PROXY=http://proxy.company.com:8080
  • Network accessline 554
    # Or specific to kagi export https_proxy=http://proxy.company.com:8080
  • Network accessline 555
    export https_proxy=http://proxy.company.com:8080
  • Network accessline 558
    **2. Use package manager install:** Package managers often respect system proxy settings better than curl downloads.
  • Network accessline 559
    Package managers often respect system proxy settings better than curl downloads.
  • Dangerous shell operationline 578
    echo 'nameserver 8.8.8.8' | sudo tee /etc/resolv.conf
  • Dangerous shell operationline 581
    echo '52.223.21.130 kagi.com' | sudo tee -a /etc/hosts
  • Dangerous shell operationline 595
    sudo apt-get update && sudo apt-get install -y ca-certificates
  • Dangerous shell operationline 601
    sudo update-ca-certificates
  • Dangerous shell operationline 610
    sudo ntpdate pool.ntp.org
  • Network accessline 655
    # Check what's being sent curl -v https://kagi.com/...  # test endpoints directly
  • Network accessline 656
    curl -v https://kagi.com/...  # test endpoints directly
  • Dangerous shell operationline 659
    sudo tcpdump -i any host kagi.com
  • Network accessline 668
    [Credential-related source omitted]
  • Network accessline 669
    [Credential-related source omitted]
  • Access to secretsline 669
    [Credential-related source omitted]
  • Network accessline 670
    -H "Content-Type: application/json" \   -d '{"q":"test","limit":1}' \   https://kagi.com/api/v1/search
  • Network accessline 672
    https://kagi.com/api/v1/search
  • Network accessline 674
    [Credential-related source omitted]
  • Network accessline 675
    [Credential-related source omitted]
  • Access to secretsline 675
    [Credential-related source omitted]
  • Network accessline 676
    -H "Content-Type: application/json" \   -d '{"query":"test"}' \   https://kagi.com/api/v0/fastgpt
  • Network accessline 678
    https://kagi.com/api/v0/fastgpt
  • Access to secretsline 732
    [Credential-related source omitted]
  • Network accessline 743
    1. **Check GitHub Issues:** [github.com/Microck/kagi-cli/issues](https://github.com/Microck/kagi-cli/issues)
  • Network accessline 779
    [Credential-related source omitted]
  • Access to secretsline 788
    [Credential-related source omitted]
  • Access to secretsline 802
    [Credential-related source omitted]
  • Access to secretsline 805
    [Credential-related source omitted]
  • Network accessline 813
    *Still stuck? Check the [GitHub Issues](https://github.com/Microck/kagi-cli/issues) or [Discussions](https://github.com/Microck/kagi-cli/discussions).*

docs/content/docs/guides/workflows.mdx

  • Network accessline 314
    # Create URL list cat > urls.txt << 'EOF' https://example.com/article1
  • Network accessline 315
    cat > urls.txt << 'EOF' https://example.com/article1 https://example.com/article2
  • Network accessline 316
    https://example.com/article1
  • Network accessline 317
    https://example.com/article2
  • Network accessline 318
    https://example.com/article3
  • Network accessline 585
    "check")       # Check if URL is accessible       if curl -s -o /dev/null -w "%{http_code}" "$line" | grep -q "200"; then
  • Network accessline 586
    # Check if URL is accessible       if curl -s -o /dev/null -w "%{http_code}" "$line" | grep -q "200"; then         echo "✓ $line (200 OK)"
  • Network accessline 587
    if curl -s -o /dev/null -w "%{http_code}" "$line" | grep -q "200"; then
  • Access to secretsline 746
    [Credential-related source omitted]

docs/content/docs/index.mdx

  • Access to secretsline 79
    [Credential-related source omitted]
  • Access to secretsline 133
    [Credential-related source omitted]
  • Access to secretsline 134
    [Credential-related source omitted]
  • Access to secretsline 226
    [Credential-related source omitted]
  • Network accessline 246
    - **Documentation**: Search this documentation using the search bar above - **GitHub Issues**: Report bugs or request features at [github.com/Microck/kagi-cli](https://github.com/Microck/kagi-cli)
  • Network accessline 247
    - **GitHub Issues**: Report bugs or request features at [github.com/Microck/kagi-cli](https://github.com/Microck/kagi-cli)

docs/content/docs/project/contributing.mdx

  • Network accessline 59
    # Clone your fork git clone https://github.com/YOUR_USERNAME/kagi-cli.git
  • Network accessline 60
    git clone https://github.com/YOUR_USERNAME/kagi-cli.git
  • Network accessline 95
    - Check existing [documentation](/) - Search [existing issues](https://github.com/Microck/kagi-cli/issues)
  • Network accessline 96
    - Search [existing issues](https://github.com/Microck/kagi-cli/issues)

docs/content/docs/project/demos.mdx

  • Network accessline 61
    - `kagi search --format pretty --region us --time year --order recency "rust release notes"` - `kagi quick --format pretty "what is rust"` - `kagi summarize --subscriber --url https://mullvad.net/en/browser | jq -M ...`
  • Network accessline 62
    - `kagi quick --format pretty "what is rust"` - `kagi summarize --subscriber --url https://mullvad.net/en/browser | jq -M ...` - `kagi news --category tech --limit 1 | jq -M ...`
  • Network accessline 63
    - `kagi summarize --subscriber --url https://mullvad.net/en/browser | jq -M ...`
  • Network accessline 64
    - `kagi news --category tech --limit 1 | jq -M ...` - `kagi ask-page https://rust-lang.org/ "What is this page about in one sentence?" | jq -M ...` - `kagi assistant "plan a private obsidian workflow for cafe work. give me 3 setup tips and 
  • Network accessline 65
    - `kagi ask-page https://rust-lang.org/ "What is this page about in one sentence?" | jq -M ...`

docs/content/docs/reference/auth-matrix.mdx

  • Access to secretsline 16
    [Credential-related source omitted]
  • Access to secretsline 21
    [Credential-related source omitted]
  • Access to secretsline 26
    [Credential-related source omitted]
  • Access to secretsline 54
    [Credential-related source omitted]
  • Access to secretsline 59
    [Credential-related source omitted]
  • Access to secretsline 159
    [Credential-related source omitted]
  • Access to secretsline 208
    [Credential-related source omitted]
  • Access to secretsline 235
    [Credential-related source omitted]
  • Access to secretsline 251
    [Credential-related source omitted]
  • Access to secretsline 262
    [Credential-related source omitted]
  • Access to secretsline 271
    [Credential-related source omitted]
  • Network accessline 292
    - ✅ `kagi quick "what is rust"` - ✅ `kagi search --region us --time month "query"` - ✅ `kagi ask-page https://example.com "question"`
  • Network accessline 293
    - ✅ `kagi search --region us --time month "query"` - ✅ `kagi ask-page https://example.com "question"` - ✅ `kagi assistant "prompt"`
  • Network accessline 294
    - ✅ `kagi ask-page https://example.com "question"`
  • Network accessline 329
    - ❌ `kagi quick` - requires session token - ❌ `kagi search --region us "query"` - requires session token - ❌ `kagi ask-page https://example.com "question"` - requires session token
  • Network accessline 330
    - ❌ `kagi search --region us "query"` - requires session token - ❌ `kagi ask-page https://example.com "question"` - requires session token - ❌ `kagi quick` - requires session token
  • Network accessline 331
    - ❌ `kagi ask-page https://example.com "question"` - requires session token
  • Access to secretsline 373
    [Credential-related source omitted]

docs/content/docs/reference/coverage.mdx

  • Network accessline 14
    [Credential-related source omitted]
  • Access to secretsline 14
    [Credential-related source omitted]

docs/content/docs/reference/error-reference.mdx

  • Network accessline 31
    Error: Network error: request to https://kagi.com/api/v1/search timed out after the configured timeout
  • Network accessline 49
    [Credential-related source omitted]
  • Access to secretsline 49
    [Credential-related source omitted]
  • Network accessline 50
    "suggested_commands": ["kagi auth status", "kagi auth set --api-key <key>", "kagi auth set --session-token <token>"],   "docs_url": "https://kagi.micr.dev/reference/error-reference" }
  • Network accessline 51
    "docs_url": "https://kagi.micr.dev/reference/error-reference"
  • Access to secretsline 61
    [Credential-related source omitted]
  • Network accessline 68
    [Credential-related source omitted]
  • Network accessline 69
    [Credential-related source omitted]
  • Access to secretsline 72
    [Credential-related source omitted]
  • Network accessline 92
    [Credential-related source omitted]
  • Network accessline 93
    [Credential-related source omitted]
  • Network accessline 95
    # Or if using wrong mode kagi summarize --subscriber --url https://example.com  # Use --subscriber for session
  • Network accessline 96
    kagi summarize --subscriber --url https://example.com  # Use --subscriber for session
  • Network accessline 120
    # Or remove conflicting flag kagi summarize --url https://example.com  # Remove --subscriber for API mode
  • Network accessline 121
    kagi summarize --url https://example.com  # Remove --subscriber for API mode
  • Network accessline 139
    **Solution:** 1. Log into [kagi.com](https://kagi.com)
  • Network accessline 140
    1. Log into [kagi.com](https://kagi.com)
  • Dangerous shell operationline 211
    rm ~/.config/kagi-cli/config.toml
  • Network accessline 226
    [Credential-related source omitted]
  • Network accessline 227
    [Credential-related source omitted]
  • Access to secretsline 245
    [Credential-related source omitted]
  • Network accessline 249
    [Credential-related source omitted]
  • Network accessline 250
    [Credential-related source omitted]
  • Network accessline 289
    # Add --subscriber flag kagi summarize --subscriber --url https://example.com --length digest
  • Network accessline 290
    kagi summarize --subscriber --url https://example.com --length digest
  • Network accessline 325
    # Remove --subscriber for API mode kagi summarize --url https://example.com --engine cecil
  • Network accessline 326
    kagi summarize --url https://example.com --engine cecil
  • Network accessline 340
    # Remove --subscriber flag kagi summarize --url https://example.com --cache false
  • Network accessline 341
    kagi summarize --url https://example.com --cache false
  • Network accessline 365
    # Provide URL kagi summarize --url https://example.com
  • Network accessline 366
    kagi summarize --url https://example.com
  • Network accessline 383
    kagi ask-page https://example.com "What is this page about?"
  • Network accessline 409
    kagi ask-page https://example.com "Give me the main argument in one sentence"
  • Network accessline 489
    ping kagi.com nslookup kagi.com curl -I https://kagi.com
  • Network accessline 491
    curl -I https://kagi.com
  • Dangerous shell operationline 512
    echo 'nameserver 8.8.8.8' | sudo tee /etc/resolv.conf
  • Dangerous shell operationline 531
    sudo apt-get update && sudo apt-get install -y ca-certificates
  • Dangerous shell operationline 551
    curl -fsSL https://raw.githubusercontent.com/Microck/kagi-cli/main/scripts/install.sh | sh
  • Network accessline 551
    curl -fsSL https://raw.githubusercontent.com/Microck/kagi-cli/main/scripts/install.sh | sh
  • Access to secretsline 654
    [Credential-related source omitted]
  • Access to secretsline 655
    [Credential-related source omitted]
  • Network accessline 657
    # Network env | grep -i proxy curl -I https://kagi.com
  • Network accessline 659
    curl -I https://kagi.com
  • Network accessline 670
    1. Check [Troubleshooting](/guides/troubleshooting) 2. Search [GitHub Issues](https://github.com/Microck/kagi-cli/issues)
  • Network accessline 671
    2. Search [GitHub Issues](https://github.com/Microck/kagi-cli/issues)

docs/content/docs/reference/output-contract.mdx

  • Network accessline 26
    "rank": 1,       "title": "Result Title",       "url": "https://example.com",
  • Network accessline 27
    "title": "Result Title",       "url": "https://example.com",       "snippet": "Description...",
  • Network accessline 28
    "url": "https://example.com",
  • Access to secretsline 36
    [Credential-related source omitted]
  • Network accessline 48
    {           "title": "Headline",           "url": "https://www.example.com/article",
  • Network accessline 49
    "title": "Headline",           "url": "https://www.example.com/article",           "source": "example.com",
  • Network accessline 50
    "url": "https://www.example.com/article",
  • Network accessline 53
    "snippet": "Optional snippet text.",           "paywall": false,           "image_url": "https://img.example/lead.jpg"
  • Network accessline 54
    "paywall": false,           "image_url": "https://img.example/lead.jpg"         }
  • Network accessline 55
    "image_url": "https://img.example/lead.jpg"
  • Network accessline 77
    "rank": 1,           "title": "Result Title",           "url": "https://example.com",
  • Network accessline 78
    "title": "Result Title",           "url": "https://example.com",           "snippet": "Description...",
  • Network accessline 79
    "url": "https://example.com",
  • Network accessline 135
    "data": [     {       "url": "https://example.com/article",
  • Network accessline 136
    {       "url": "https://example.com/article",       "markdown": "# Article\n\nExtracted content.",
  • Network accessline 137
    "url": "https://example.com/article",
  • Network accessline 148
    {"url":"https://example.com/article","ok":true,"response":{"meta":{"trace":"trace-1","node":"test","ms":12},"data":[{"url":"https://example.com/article","markdown":"# Article","links":[]}]}}
  • Network accessline 149
    {"url":"http://example.com/bad","ok":false,"error":{"code":"configuration_error","category":"configuration","retryable":false,"message":"configuration error: extract URL must use the https scheme","suggested_commands":[],"docs_url":"https:/
  • Network accessline 298
    {     "id": "12",     "rule": "^gh/(.+)$|https://github.com/$1",
  • Network accessline 299
    "id": "12",     "rule": "^gh/(.+)$|https://github.com/$1",     "enabled": true,
  • Network accessline 300
    "rule": "^gh/(.+)$|https://github.com/$1",
  • Network accessline 325
    },   "references": {     "markdown": "[^1]: [Rust](https://www.rust-lang.org/) (26%)",
  • Network accessline 326
    "references": {     "markdown": "[^1]: [Rust](https://www.rust-lang.org/) (26%)",     "items": [
  • Network accessline 327
    "markdown": "[^1]: [Rust](https://www.rust-lang.org/) (26%)",
  • Network accessline 331
    "title": "Rust",         "domain": "www.rust-lang.org",         "url": "https://www.rust-lang.org/",
  • Network accessline 332
    "domain": "www.rust-lang.org",         "url": "https://www.rust-lang.org/",         "contribution_pct": 26
  • Network accessline 333
    "url": "https://www.rust-lang.org/",
  • Network accessline 381
    "meta": {},   "source": {     "url": "https://rust-lang.org/",
  • Network accessline 382
    "source": {     "url": "https://rust-lang.org/",     "question": "What is this page about?"
  • Network accessline 383
    "url": "https://rust-lang.org/",
  • Network accessline 393
    "thread_id": "thread-1",     "state": "done",     "prompt": "https://rust-lang.org/\nWhat is this page about?",
  • Network accessline 394
    "state": "done",     "prompt": "https://rust-lang.org/\nWhat is this page about?",     "markdown": "This page is about the Rust programming language."
  • Network accessline 395
    "prompt": "https://rust-lang.org/\nWhat is this page about?",
  • Network accessline 428
    {       "title": "Result Title",       "url": "https://example.com",
  • Network accessline 429
    "title": "Result Title",       "url": "https://example.com",       "snippet": "Description...",
  • Network accessline 430
    "url": "https://example.com",
  • Network accessline 451
    1. Result Title    https://example.com
  • Network accessline 452
    https://example.com
  • Network accessline 477
    1. Learn (35%)    https://www.rust-lang.org/learn
  • Network accessline 478
    https://www.rust-lang.org/learn
  • Access to secretsline 497
    [Credential-related source omitted]
  • Network accessline 510
    [Credential-related source omitted]
  • Access to secretsline 510
    [Credential-related source omitted]
  • Network accessline 511
    "suggested_commands": ["kagi auth status", "kagi auth set --api-key <key>", "kagi auth set --session-token <token>"],   "docs_url": "https://kagi.micr.dev/reference/error-reference" }
  • Network accessline 512
    "docs_url": "https://kagi.micr.dev/reference/error-reference"
  • Network accessline 537
    # Ask-page markdown reply kagi ask-page https://rust-lang.org/ "What is this page about?" | jq -r '.message.markdown'
  • Network accessline 538
    kagi ask-page https://rust-lang.org/ "What is this page about?" | jq -r '.message.markdown'
  • Network accessline 558
    # Subscriber summary text kagi summarize --subscriber --url https://example.com | jq -r '.data.output'
  • Network accessline 559
    kagi summarize --subscriber --url https://example.com | jq -r '.data.output'

docs/demos.md

  • Network accessline 29
    - `kagi search --format pretty --region us --time year --order recency "rust release notes"` - `kagi quick --format pretty "what is rust"` - `kagi summarize --subscriber --url https://mullvad.net/en/browser | jq -M ...`
  • Network accessline 30
    - `kagi quick --format pretty "what is rust"` - `kagi summarize --subscriber --url https://mullvad.net/en/browser | jq -M ...` - `kagi news --category tech --limit 1 | jq -M ...`
  • Network accessline 31
    - `kagi summarize --subscriber --url https://mullvad.net/en/browser | jq -M ...`
  • Network accessline 32
    - `kagi news --category tech --limit 1 | jq -M ...` - `kagi ask-page https://rust-lang.org/ "What is this page about in one sentence?" | jq -M ...` - `kagi assistant "plan a private obsidian workflow for cafe work. give me 3 setup tips and 
  • Network accessline 33
    - `kagi ask-page https://rust-lang.org/ "What is this page about in one sentence?" | jq -M ...`

docs/e2e-runner.mjs

  • Executable scriptline 1
    Executable file

docs/e2e.config.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 3
    export default {  tests:"tests/**/*.e2e.ts",workers:1,retries:0,timeout:30_000,  targets:[{name:"chromium",engine:web(),app:{url:"http://127.0.0.1:4182",command:{"executable": "node", "args": ["node_modules/next/dist/bin/next", "start", "--
  • Network accessline 4
    tests:"tests/**/*.e2e.ts",workers:1,retries:0,timeout:30_000,  targets:[{name:"chromium",engine:web(),app:{url:"http://127.0.0.1:4182",command:{"executable": "node", "args": ["node_modules/next/dist/bin/next", "start", "--hostname", "127.0.
  • Network accessline 5
    targets:[{name:"chromium",engine:web(),app:{url:"http://127.0.0.1:4182",command:{"executable": "node", "args": ["node_modules/next/dist/bin/next", "start", "--hostname", "127.0.0.1", "--port", "4182"]}}}],

docs/lib/source.ts

  • Executable scriptline 1
    Executable file

docs/llms.txt

  • Network accessline 7
    - [Introduction](https://kagi.micr.dev/): Complete guide to the *kagi* CLI - a command-line interface for Kagi search, automation, and structured terminal workflows.
  • Network accessline 8
    - [Installation](https://kagi.micr.dev/guides/installation): Complete installation guide for *kagi* CLI on macOS, Linux, and Windows including package managers, manual installation, and troubleshooting.
  • Network accessline 9
    - [Quickstart](https://kagi.micr.dev/guides/quickstart): Get up and running with *kagi* CLI in minutes - from your first unauthenticated command to full subscriber workflows.
  • Network accessline 10
    - [Authentication](https://kagi.micr.dev/guides/authentication): Complete guide to understanding *kagi* CLI authentication - session tokens, API tokens, precedence rules, and security best practices.
  • Network accessline 11
    - [Common Workflows](https://kagi.micr.dev/guides/workflows): Practical task-oriented examples for *kagi* CLI - from daily automation to complex research pipelines.
  • Network accessline 12
    - [Advanced Usage](https://kagi.micr.dev/guides/advanced-usage): Advanced patterns for scripting, automation, CI/CD integration, and building with *kagi* CLI.
  • Network accessline 13
    - [Troubleshooting](https://kagi.micr.dev/guides/troubleshooting): Common issues, error messages, debugging techniques, and solutions for *kagi* CLI problems.
  • Network accessline 17
    - [search](https://kagi.micr.dev/commands/search): Complete reference for *kagi* search command - syntax, flags, authentication, output formats, and real-world examples.
  • Network accessline 18
    - [batch](https://kagi.micr.dev/commands/batch): Run multiple Kagi searches in parallel, including stdin-fed query batches.
  • Network accessline 19
    - [auth](https://kagi.micr.dev/commands/auth): Complete reference for *kagi* auth command - credential management, validation, and configuration.
  • Network accessline 20
    - [usage](https://kagi.micr.dev/commands/usage): Inspect the current plan, AI cost allowance, account balance, renewal date, and calendar-month usage. - [summarize](https://kagi.micr.dev/commands/summarize): Complete reference for *kagi* su
  • Network accessline 21
    - [summarize](https://kagi.micr.dev/commands/summarize): Complete reference for *kagi* summarize command - summarize URLs and text using subscriber or public API modes. - [extract](https://kagi.micr.dev/commands/extract): Fetch a page's ful
  • Network accessline 22
    - [extract](https://kagi.micr.dev/commands/extract): Fetch a page's full content as markdown using Kagi's Extract API.
  • Network accessline 23
    - [watch](https://kagi.micr.dev/commands/watch): Monitor a Kagi search query and emit result diffs.
  • Network accessline 24
    - [notify](https://kagi.micr.dev/commands/notify): Send Kagi search or news output to a webhook.
  • Network accessline 25
    - [history](https://kagi.micr.dev/commands/history): Inspect local kagi-cli command history and query stats.
  • Network accessline 26
    - [skills](https://kagi.micr.dev/commands/skills): Embedded, version-matched guidance for agents and automation.
  • Network accessline 27
    - [mcp](https://kagi.micr.dev/commands/mcp): Run kagi-cli as a stdio Model Context Protocol server.
  • Network accessline 28
    - [completion](https://kagi.micr.dev/commands/completion): Complete reference for *kagi* completion command - generate and install shell completion scripts.
  • Network accessline 32
    - [news](https://kagi.micr.dev/commands/news): Complete reference for *kagi* news command - fetch Kagi News from public JSON endpoints with category filtering.
  • Network accessline 33
    - [smallweb](https://kagi.micr.dev/commands/smallweb): Complete reference for *kagi* smallweb command - fetch the Kagi Small Web feed of independent websites.
  • Network accessline 37
    - [assistant](https://kagi.micr.dev/commands/assistant): Complete reference for *kagi* assistant command - interact with Kagi AI Assistant programmatically.
  • Network accessline 38
    - [quick](https://kagi.micr.dev/commands/quick): Complete reference for *kagi* quick command - get Kagi Quick Answer responses with references from the terminal.
  • Network accessline 39
    - [ask-page](https://kagi.micr.dev/commands/ask-page): Complete reference for *kagi* ask-page command - ask Kagi Assistant about a specific web page.
  • Network accessline 40
    - [translate](https://kagi.micr.dev/commands/translate): Translate text through Kagi Translate with session-token auth.
  • Network accessline 41
    - [fastgpt](https://kagi.micr.dev/commands/fastgpt): Complete reference for *kagi* fastgpt command - get quick answers using Kagi's FastGPT API.
  • Network accessline 42
    - [enrich](https://kagi.micr.dev/commands/enrich): Complete reference for *kagi* enrich command - query Kagi's enrichment indexes for web and news.
  • Network accessline 46
    - [lens](https://kagi.micr.dev/commands/lens): Complete reference for *kagi* lens command - manage search lenses from the terminal.
  • Network accessline 47
    - [bang](https://kagi.micr.dev/commands/bang): Complete reference for *kagi* bang command - manage custom bangs from the terminal.
  • Network accessline 48
    - [redirect](https://kagi.micr.dev/commands/redirect): Complete reference for *kagi* redirect command - manage redirect rules from the terminal.
  • Network accessline 49
    - [site-pref](https://kagi.micr.dev/commands/site-pref): Manage local domain preferences applied to CLI search output.
  • Network accessline 53
    - [Auth Matrix](https://kagi.micr.dev/reference/auth-matrix): Complete matrix showing which commands require which authentication tokens and how fallback works.
  • Network accessline 54
    - [Output Contract](https://kagi.micr.dev/reference/output-contract): Complete specification of *kagi* CLI output formats - JSON schemas, pretty mode, and error handling.
  • Network accessline 55
    - [Error Reference](https://kagi.micr.dev/reference/error-reference): Complete catalog of error messages, their meanings, and solutions.
  • Network accessline 56
    - [API and Product Coverage](https://kagi.micr.dev/reference/coverage): Complete reference of what APIs and product features are implemented today and what is intentionally unavailable.
  • Network accessline 60
    - [Development](https://kagi.micr.dev/project/development): Build, test, and maintain *kagi* from a source checkout.
  • Network accessline 61
    - [Demos](https://kagi.micr.dev/project/demos): Recorded terminal demos and how to regenerate them. - [Support and Contribution](https://kagi.micr.dev/project/support): Where to file issues, how to contribute safely, and what not to commit.
  • Network accessline 62
    - [Support and Contribution](https://kagi.micr.dev/project/support): Where to file issues, how to contribute safely, and what not to commit.
  • Network accessline 63
    - [Contributing](https://kagi.micr.dev/project/contributing): How to contribute to *kagi* CLI - bug reports, feature requests, documentation improvements, and code contributions.

docs/mdx-components.tsx

  • Executable scriptline 1
    Executable file

docs/next.config.mjs

  • Executable scriptline 1
    Executable file

docs/package.json

  • Executable scriptline 1
    Executable file

docs/postcss.config.mjs

  • Executable scriptline 1
    Executable file

docs/public/images/kagi-cli-logo-dark.svg

  • Network accessline 1
    <svg xmlns="http://www.w3.org/2000/svg" width="2342pt" height="601pt" version="1.1" viewBox="0 0 2342 601"><g id="#ffffffff"><path fill="#fff" d="M 253.63 41.63 C 263.85 31.22 278.42 25.33 292.99 25.46 C 301.75 25.69 310.33 27.62 318.90 29.

docs/public/images/kagi-cli-logo-light.svg

  • Network accessline 1
    <svg xmlns="http://www.w3.org/2000/svg" width="2342pt" height="601pt" version="1.1" viewBox="0 0 2342 601"><g id="#ffffffff"><path fill="#fff" d="M 257.27 38.24 C 266.94 30.18 279.40 25.54 292.01 25.52 C 302.50 25.50 312.73 28.13 322.97 30.

docs/release-runbook.md

  • Network accessline 153
    SOURCE_COMMIT="$(git ls-remote https://github.com/Microck/kagi-cli.git 'refs/tags/vX.Y.Z^{}' | awk '{print $1}')"
  • Network accessline 154
    if [ -z "$SOURCE_COMMIT" ]; then   SOURCE_COMMIT="$(git ls-remote https://github.com/Microck/kagi-cli.git 'refs/tags/vX.Y.Z' | awk '{print $1}')" fi
  • Network accessline 155
    SOURCE_COMMIT="$(git ls-remote https://github.com/Microck/kagi-cli.git 'refs/tags/vX.Y.Z' | awk '{print $1}')"
  • Network accessline 167
    # verify the published AUR metadata curl -s 'https://aur.archlinux.org/rpc/?v=5&type=info&arg[]=kagi-cli'
  • Network accessline 168
    curl -s 'https://aur.archlinux.org/rpc/?v=5&type=info&arg[]=kagi-cli'
  • Network accessline 188
    Hosting is not wired into the release workflow yet. After a release, deploy the fresh `docs/.next` output to the docs host manually and confirm the changed pages render at `https://kagi.micr.dev`. The site can still return HTTP 200 while se
  • Network accessline 225
    - `gh run list --workflow 'npm Publish' --limit 5` - `npm view kagi-cli version` - open `https://kagi.micr.dev` and confirm changed docs are live
  • Network accessline 227
    - open `https://kagi.micr.dev` and confirm changed docs are live

docs/source.config.ts

  • Executable scriptline 1
    Executable file

docs/tests/config.test.mjs

  • Executable scriptline 1
    Executable file

docs/tests/docs.e2e.ts

  • Executable scriptline 1
    Executable file

docs/todo.md

  • Network accessline 7
    - a repo pass over the current CLI surface (`src/main.rs`, `src/cli.rs`, `src/search.rs`, `src/parser.rs`, `src/api.rs`, `src/types.rs`, `docs/api-coverage.md`) - a full crawl of `https://help.kagi.com/` on 2026-03-20
  • Network accessline 8
    - a full crawl of `https://help.kagi.com/` on 2026-03-20

scripts/install.ps1

  • Executable scriptline 1
    Executable file
  • Network accessline 11
    function Get-LatestTag {     $headers = @{ "User-Agent" = "kagi-install-script" }     $release = Invoke-RestMethod -Headers $headers -Uri "https://api.github.com/repos/$Repo/releases/latest"
  • Network accessline 12
    $headers = @{ "User-Agent" = "kagi-install-script" }     $release = Invoke-RestMethod -Headers $headers -Uri "https://api.github.com/repos/$Repo/releases/latest"     return $release.tag_name
  • Network accessline 13
    $release = Invoke-RestMethod -Headers $headers -Uri "https://api.github.com/repos/$Repo/releases/latest"
  • Network accessline 33
    $Target = Get-Target $Archive = "$AppName-$Version-$Target.zip" $Url = "https://github.com/$Repo/releases/download/$Version/$Archive"
  • Network accessline 34
    $Archive = "$AppName-$Version-$Target.zip" $Url = "https://github.com/$Repo/releases/download/$Version/$Archive" $TempDir = Join-Path ([System.IO.Path]::GetTempPath()) ("kagi-install-" + [System.Guid]::NewGuid().ToString("N"))
  • Network accessline 35
    $Url = "https://github.com/$Repo/releases/download/$Version/$Archive"

scripts/install.sh

  • Executable scriptline 1
    #!/usr/bin/env sh
  • Network accessline 42
    fetch_latest_tag() {   curl -fsSL "https://api.github.com/repos/$REPO/releases/latest" \
  • Network accessline 43
    curl -fsSL "https://api.github.com/repos/$REPO/releases/latest" \
  • Network accessline 48
    need_cmd curl need_cmd tar
  • Network accessline 61
    archive="${APP_NAME}-${version}-${target}.tar.gz" url="https://github.com/${REPO}/releases/download/${version}/${archive}"
  • Network accessline 62
    url="https://github.com/${REPO}/releases/download/${version}/${archive}"
  • Dangerous shell operationline 67
    rm -rf "$tmpdir"
  • Dangerous shell operationline 69
    rm -f "$install_tmp"
  • Network accessline 74
    echo "Downloading $archive" curl -fL "$url" -o "$tmpdir/$archive"
  • Network accessline 75
    curl -fL "$url" -o "$tmpdir/$archive"

skills/kagi-account-config/SKILL.md

  • Access to secretsline 17
    [Credential-related source omitted]
  • Network accessline 38
    [Credential-related source omitted]
  • Network accessline 39
    [Credential-related source omitted]
  • Network accessline 71
    kagi bang custom create    "Docs"    --trigger docs    --template "https://docs.rs/releases/search?query=%s"
  • Network accessline 72
    "Docs" \   --trigger docs \   --template "https://docs.rs/releases/search?query=%s"
  • Network accessline 74
    --template "https://docs.rs/releases/search?query=%s"

skills/kagi-usage/SKILL.md

  • Access to secretsline 49
    [Credential-related source omitted]
  • Access to secretsline 114
    [Credential-related source omitted]
  • Access to secretsline 123
    [Credential-related source omitted]
  • Network accessline 126
    kagi extract "https://example.com/article"
  • Network accessline 134
    kagi summarize --subscriber --url "https://example.com/article"
  • Network accessline 135
    kagi summarize --subscriber --text "long text" kagi summarize --subscriber \   --url "https://example.com/article" \
  • Network accessline 136
    kagi summarize --subscriber    --url "https://example.com/article"
  • Network accessline 137
    --url "https://example.com/article" \
  • Network accessline 145
    kagi summarize --url "https://example.com/article"
  • Network accessline 157
    kagi ask-page \   "https://example.com/article" \
  • Network accessline 158
    "https://example.com/article" \

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Combined signals: 2 facts
  • Passes content downloaded from raw.githubusercontent.com to an interpreterdocs/SKILL.md:35High confidence
  • Passes content downloaded from raw.githubusercontent.com to an interpreterdocs/SKILL.md:38High confidence
Signal confidence: 156 facts

and 106 more

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativeManifest .claude-plugin/marketplace.json.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md docs/SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md docs/SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md docs/SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md docs/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md docs/SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.