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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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>/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
30-day change not yet available: not enough history.
Individual skills in this repository
- kagi-cli
docs - kagi-account-config
skills/kagi-account-config - kagi-ai
skills/kagi-ai - kagi-assistant
skills/kagi-assistant - kagi-monitoring
skills/kagi-monitoring - kagi-usage
skills/kagi-usage
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 tokensAlways available to the agent
SKILL.md
3,428 tokensWhen the skill is activated
Reference documents
6,574 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Installation
- Authentication
- Commands
- Output Formats
- Shell Completions
- Common Workflows
- Input Requirements
- Constraints
- Error Handling
- Resources
Scripts executed separately
app/[[...slug]]/page.tsxapp/api/search/route.tsapp/layout.tsxcomponents/logo.tsxe2e-runner.mjse2e.config.tslib/source.tsmdx-components.tsxnext.config.mjspackage.jsonpostcss.config.mjssource.config.tstests/config.test.mjstests/docs.e2e.ts../scripts/install.ps1../scripts/install.sh
Files
../.claude-plugin/marketplace.jsonasset685 bytes../.claude-plugin/plugin.jsonasset518 bytes.gitignoreasset58 bytesREADME.mddoc686 bytesSKILL.mdcore13,843 bytesSKILL.mdcore13,843 bytesSKILL.mdcore13,843 bytesSKILL.mdcore13,843 bytesSKILL.mdcore13,843 bytesSKILL.mdcore13,843 bytesSKILL.mdcore13,843 bytesSKILL.mdcore13,843 bytesSKILL.mdcore13,843 bytesSKILL.mdcore13,843 bytesSKILL.mdcore13,843 bytesSKILL.mdcore13,843 bytesSKILL.mdcore13,843 bytesSKILL.mdcore13,843 bytesSKILL.mdcore13,843 bytesSKILL.mdcore13,843 bytesSKILL.mdcore13,843 bytesSKILL.mdcore13,843 bytesSKILL.mdcore13,843 bytesSKILL.mdcore13,843 bytesSKILL.mdcore13,843 bytesSKILL.mdcore13,843 bytesSKILL.mdcore13,843 bytesSKILL.mdcore13,843 bytesSKILL.mdcore13,843 bytesSKILL.mdcore13,843 bytesSKILL.mdcore13,843 bytesSKILL.mdcore13,843 bytesSKILL.mdcore13,843 bytesSKILL.mdcore13,843 bytesSKILL.mdcore13,843 bytesapi-coverage.mddoc274 bytesapp/[[...slug]]/page.tsxruns1,401 bytesapp/api/search/route.tsruns153 bytesapp/global.cssasset393 bytesapp/layout.tsxruns826 bytescomponents/logo.tsxruns576 bytescontent/docs/commands/ask-page.mdxasset3,249 bytescontent/docs/commands/assistant.mdxasset12,175 bytescontent/docs/commands/auth.mdxasset6,258 bytescontent/docs/commands/bang.mdxasset3,243 bytescontent/docs/commands/batch.mdxasset585 bytescontent/docs/commands/completion.mdxasset2,193 bytescontent/docs/commands/enrich.mdxasset3,541 bytescontent/docs/commands/extract.mdxasset4,118 bytescontent/docs/commands/fastgpt.mdxasset4,925 bytescontent/docs/commands/history.mdxasset496 bytescontent/docs/commands/lens.mdxasset3,742 bytescontent/docs/commands/mail.mdxasset7,172 bytescontent/docs/commands/mcp.mdxasset10,615 bytescontent/docs/commands/meta.jsonasset519 bytescontent/docs/commands/news.mdxasset6,974 bytescontent/docs/commands/notify.mdxasset871 bytescontent/docs/commands/quick.mdxasset5,107 bytescontent/docs/commands/redirect.mdxasset2,804 bytescontent/docs/commands/search.mdxasset13,606 bytescontent/docs/commands/site-pref.mdxasset885 bytescontent/docs/commands/skills.mdxasset2,382 bytescontent/docs/commands/smallweb.mdxasset2,529 bytescontent/docs/commands/summarize.mdxasset8,833 bytescontent/docs/commands/translate.mdxasset5,374 bytescontent/docs/commands/usage.mdxasset2,069 bytescontent/docs/commands/watch.mdxasset729 bytescontent/docs/guides/advanced-usage.mdxasset15,737 bytescontent/docs/guides/authentication.mdxasset23,439 bytescontent/docs/guides/installation.mdxasset13,818 bytescontent/docs/guides/meta.jsonasset228 bytescontent/docs/guides/quickstart.mdxasset14,166 bytescontent/docs/guides/troubleshooting.mdxasset18,663 bytescontent/docs/guides/workflows.mdxasset19,110 bytescontent/docs/index.mdxasset11,096 bytescontent/docs/meta.jsonasset110 bytescontent/docs/project/contributing.mdxasset2,338 bytescontent/docs/project/demos.mdxasset4,121 bytescontent/docs/project/development.mdxasset953 bytescontent/docs/project/meta.jsonasset174 bytescontent/docs/project/support.mdxasset771 bytescontent/docs/reference/auth-matrix.mdxasset16,489 bytescontent/docs/reference/coverage.mdxasset8,685 bytescontent/docs/reference/error-reference.mdxasset15,553 bytescontent/docs/reference/meta.jsonasset214 bytescontent/docs/reference/output-contract.mdxasset12,360 bytesdemo-assets/ask-page.gifasset14,367 bytesdemo-assets/assistant-custom.gifasset3,529 bytesdemo-assets/assistant.gifasset138,490 bytesdemo-assets/auth.gifasset62,749 bytesdemo-assets/bang-custom.gifasset3,407 bytesdemo-assets/lens.gifasset3,162 bytesdemo-assets/news.gifasset43,023 bytesdemo-assets/quick.gifasset35,842 bytesdemo-assets/redirect.gifasset3,261 bytesdemo-assets/search.gifasset23,901 bytesdemo-assets/summarize.gifasset33,851 bytesdemo-assets/translate.gifasset13,810 bytesdemos.mddoc5,710 bytese2e-runner.mjsruns836 bytese2e.config.tsruns384 byteslib/source.tsruns281 bytesllms.txtdoc5,978 bytesmdx-components.tsxruns610 bytesnext.config.mjsruns171 bytespackage.jsonruns905 bytespnpm-lock.yamlasset191,351 bytespnpm-workspace.yamlasset256 bytespostcss.config.mjsruns81 bytespublic/images/demos/ask-page.gifasset14,367 bytespublic/images/demos/assistant-custom.gifasset3,529 bytespublic/images/demos/assistant.gifasset138,490 bytespublic/images/demos/auth.gifasset62,749 bytespublic/images/demos/bang-custom.gifasset3,407 bytespublic/images/demos/lens.gifasset3,162 bytespublic/images/demos/news.gifasset43,023 bytespublic/images/demos/quick.gifasset35,842 bytespublic/images/demos/redirect.gifasset3,261 bytespublic/images/demos/search.gifasset23,901 bytespublic/images/demos/summarize.gifasset33,851 bytespublic/images/demos/translate.gifasset13,810 bytespublic/images/favicon.pngasset7,331 bytespublic/images/kagi-cli-logo-dark.svgasset42,434 bytespublic/images/kagi-cli-logo-light.svgasset58,372 bytesrelease-runbook.mddoc9,603 bytessource.config.tsruns621 bytestests/config.test.mjsruns399 bytestests/docs.e2e.tsruns1,906 bytestodo.mddoc9,589 bytestsconfig.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 GitHubkagi-account-config
When your agent uses it
Configure Kagi CLI credentials, profiles, lenses, custom bangs, redirects, site preferences, and account-backed assistants. Use when the user wants to inspect or change how Kagi authenticates, searches, or applies account settings.
What it loads into context
Frontmatter
62 tokensAlways available to the agent
SKILL.md
607 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Credential model
- Inspect and verify auth
- Profiles
- Search settings
- Custom assistants
- Completion criteria
Files
SKILL.mdcore2,780 bytesSKILL.mdcore2,780 bytesSKILL.mdcore2,780 bytesSKILL.mdcore2,780 bytesSKILL.mdcore2,780 bytesSKILL.mdcore2,780 bytesSKILL.mdcore2,780 bytes
Read SKILL.md
# Kagi Account Configuration
Inspect current state before changing it. Never print, echo, or paste stored
credential values into output.
## Credential model
| Credential | Main capabilities |
| --- | --- |
| `KAGI_SESSION_TOKEN` | subscriber search, Quick Answer, Assistant, ask-page, translation, subscriber summarization |
| `KAGI_API_KEY` | current Search API and Extract API |
| `KAGI_API_TOKEN` | legacy summarize, FastGPT, and Enrichment APIs |
Environment variables override `.kagi.toml`. `--profile NAME` selects a namedView the complete source on GitHubkagi-ai
When your agent uses it
Use Kagi's paid AI allowance for reasoning, coding, research, file analysis, structured generation, or model comparison. Use when a task should spend Assistant value instead of only searching the web or transforming one known page.
What it loads into context
Frontmatter
66 tokensAlways available to the agent
SKILL.md
904 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Choose the lane
- Start with live account state
- Use Assistant deliberately
- Analyze files
- Require structured output
- Budget discipline
- Completion criteria
Files
SKILL.mdcore4,176 bytesSKILL.mdcore4,176 bytesSKILL.mdcore4,176 bytesSKILL.mdcore4,176 bytesSKILL.mdcore4,176 bytesSKILL.mdcore4,176 bytesSKILL.mdcore4,176 bytes
Read SKILL.md
# Kagi AI
Spend the Assistant allowance on reasoning and synthesis. When the active plan
includes unlimited Summarizer or Translate usage, use those tools for direct
transformations and reserve the allowance for harder work.
## Choose the lane
| Need | Lane |
| --- | --- |
| Find or verify sources | Load `kagi-usage` and search |
| Summarize one URL or text | `kagi summarize --subscriber` |
| Translate supplied text | `kagi translate` |
| Get a fast cited answer | `kagi quick` |View the complete source on GitHubkagi-assistant
When your agent uses it
Use Kagi Assistant for conversational answers, thread continuity, attachments, streaming, model selection, or custom assistants. Use when the task benefits from an account-backed conversation rather than direct search or page extraction.
What it loads into context
Frontmatter
57 tokensAlways available to the agent
SKILL.md
563 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Start a conversation
- Continue a thread
- Attach local context
- Stream responses
- Custom assistants
- Completion criteria
Files
SKILL.mdcore2,620 bytesSKILL.mdcore2,620 bytesSKILL.mdcore2,620 bytesSKILL.mdcore2,620 bytesSKILL.mdcore2,620 bytesSKILL.mdcore2,620 bytesSKILL.mdcore2,620 bytes
Read SKILL.md
# Kagi Assistant
Use Assistant for conversation mechanics and continuity. Use `kagi-ai` to
choose when to spend AI allowance, and `kagi-usage` for direct search or page
work.
Assistant commands require `KAGI_SESSION_TOKEN`.
## Start a conversation
```bash
kagi auth status
kagi assistant "draft a migration checklist" --format markdown
kagi assistant "compare these options" --format toonView the complete source on GitHubkagi-monitoring
When your agent uses it
Automate repeated Kagi queries with batch search, watches, notifications, history, caching, and MCP. Use when the user needs bulk processing, scheduled discovery, change detection, or a stable integration surface.
What it loads into context
Frontmatter
58 tokensAlways available to the agent
SKILL.md
604 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Choose the workflow
- Batch search
- Watch search results
- Notifications
- History and caching
- MCP
- Automation rules
- Completion criteria
Files
SKILL.mdcore2,760 bytesSKILL.mdcore2,760 bytesSKILL.mdcore2,760 bytesSKILL.mdcore2,760 bytesSKILL.mdcore2,760 bytes
Read SKILL.md
# Kagi Monitoring and Automation
Build repeatable workflows from structured Kagi output. Keep stdout
machine-readable and send progress or diagnostics to stderr.
## Choose the workflow
| Need | Command |
| --- | --- |
| Run independent queries together | `kagi batch` |
| Detect changes in results | `kagi watch` |
| Deliver a result or alert | `kagi notify` |
| Inspect prior local activity | `kagi history` |
| Expose Kagi tools to an agent | `kagi mcp` |View the complete source on GitHubkagi-usage
When your agent uses it
Search the web, extract or summarize a page, translate it, or check the news with the kagi CLI instead of WebSearch or WebFetch. Load this first for any Kagi task: it covers search and page content, and routes Assistant, automation, and account work to the right skill.
What it loads into context
Frontmatter
83 tokensAlways available to the agent
SKILL.md
1,782 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Route the task
- Search the web
- Work with one page
- Shared rules
- Completion criteria
Files
SKILL.mdcore7,518 bytesSKILL.mdcore7,518 bytesSKILL.mdcore7,518 bytesSKILL.mdcore7,518 bytesSKILL.mdcore7,518 bytesSKILL.mdcore7,518 bytesSKILL.mdcore7,518 bytesSKILL.mdcore7,518 bytesSKILL.mdcore7,518 bytesSKILL.mdcore7,518 bytesSKILL.mdcore7,518 bytesSKILL.mdcore7,518 bytesSKILL.mdcore7,518 bytesSKILL.mdcore7,518 bytesSKILL.mdcore7,518 bytesSKILL.mdcore7,518 bytesSKILL.mdcore7,518 bytesSKILL.mdcore7,518 bytesSKILL.mdcore7,518 bytes
Read SKILL.md
# Kagi CLI
Search the web and read pages with `kagi`. Route every other Kagi task to the
skill named below.
## Route the task
| User intent | Where |
| --- | --- |
| Find, compare, or verify information from the web | Search the web (below) |
| Read, summarize, question, or translate a known page | Work with one page (below) |
| Use paid AI for reasoning, coding, research, or files | `kagi-ai` |
| Continue a conversation or manage Assistant state | `kagi-assistant` |
| Run searches in bulk or monitor changes over time | `kagi-monitoring` |View the complete source on GitHubSkills 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 shellAutomated 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:1Analysis incomplete: Referenced executable target unavailable; not analyzeddocs/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzeddocs/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzeddocs/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzeddocs/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzeddocs/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzeddocs/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzeddocs/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzeddocs/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzeddocs/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzeddocs/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzeddocs/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzeddocs/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzeddocs/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzeddocs/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzeddocs/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzeddocs/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzeddocs/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzeddocs/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzeddocs/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 37 dangerous shell commandsin 7 files: docs/content/docs/guides/troubleshooting.mdx:89 docs/content/docs/guides/advanced-usage.mdx:58 docs/content/docs/guides/installation.mdx:31 and 4 more
- 536 network referencesin 43 files: docs/content/docs/guides/troubleshooting.mdx:25 docs/content/docs/reference/output-contract.mdx:26 docs/llms.txt:7 and 40 more
- No hidden or obfuscated text
- No instruction overrides
- 16 executable scriptsin 16 files: docs/app/[[...slug]]/page.tsx:1 docs/app/api/search/route.ts:1 docs/app/layout.tsx:1 and 13 more
- 118 references to secretsin 18 files: docs/content/docs/guides/authentication.mdx:54 docs/content/docs/guides/troubleshooting.mdx:148 docs/content/docs/reference/auth-matrix.mdx:16 and 15 more
- No requests to vote in Hot
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
docs/content/docs/commands/news.mdx
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
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
- Network access in the frontmatter of the SKILL.mddocs/SKILL.md:7Low confidence
- Network access in the frontmatter of the SKILL.mddocs/SKILL.md:8Low confidence
- Network access in the frontmatter of the SKILL.mddocs/SKILL.md:9Low confidence
- Network access in the frontmatter of the SKILL.mddocs/SKILL.md:10Low confidence
- Network access in the frontmatter of the SKILL.mddocs/SKILL.md:11Low confidence
- Access to secrets in prose of the SKILL.md: a variable, placeholder or call, not a stored valuedocs/SKILL.md:18Low confidence
- Network access in code of the SKILL.mddocs/SKILL.md:27High confidence
- Network access in code of the SKILL.mddocs/SKILL.md:28High confidence
- Network access in code of the SKILL.mddocs/SKILL.md:34High confidence
- Dangerous shell operation in code of the SKILL.mddocs/SKILL.md:35High confidence
- Network access in code of the SKILL.mddocs/SKILL.md:35High confidence
- Network access in code of the SKILL.mddocs/SKILL.md:37High confidence
- Network access in code of the SKILL.mddocs/SKILL.md:38High confidence
- Network access in code of the SKILL.mddocs/SKILL.md:58High confidence
- Network access in code of the SKILL.mddocs/SKILL.md:59High confidence
- Access to secrets in code of the SKILL.mddocs/SKILL.md:62High confidence
- Network access in code of the SKILL.mddocs/SKILL.md:64High confidence
- Access to secrets in code of the SKILL.mddocs/SKILL.md:65High confidence
- Network access in code of the SKILL.mddocs/SKILL.md:67High confidence
- Access to secrets in code of the SKILL.mddocs/SKILL.md:68High confidence
- Access to secrets in prose of the SKILL.mddocs/SKILL.md:76Low confidence
- Network access in code of the SKILL.mddocs/SKILL.md:192High confidence
- Network access in code of the SKILL.mddocs/SKILL.md:194High confidence
- Network access in code of the SKILL.mddocs/SKILL.md:229High confidence
- Network access in code of the SKILL.mddocs/SKILL.md:237High confidence
- Network access in code of the SKILL.mddocs/SKILL.md:238High confidence
- Network access in code of the SKILL.mddocs/SKILL.md:243High confidence
- Network access in code of the SKILL.mddocs/SKILL.md:244High confidence
- Network access in code of the SKILL.mddocs/SKILL.md:312High confidence
- Network access in code of the SKILL.mddocs/SKILL.md:313High confidence
- Network access in code of the SKILL.mddocs/SKILL.md:314High confidence
- Network access in code of the SKILL.mddocs/SKILL.md:324High confidence
- Network access in code of the SKILL.mddocs/SKILL.md:325High confidence
- Network access in code of the SKILL.mddocs/SKILL.md:326High confidence
- Network access in code of the SKILL.mddocs/SKILL.md:327High confidence
- Network access in code of the SKILL.mddocs/SKILL.md:328High confidence
- Network access in code of the SKILL.mddocs/SKILL.md:329High confidence
- Network access in code of the SKILL.mddocs/SKILL.md:330High confidence
- Network access in prose of the SKILL.mddocs/SKILL.md:478Low confidence
- Network access in prose of the SKILL.mddocs/SKILL.md:479Low confidence
- Network access in prose of the SKILL.mddocs/SKILL.md:480Low confidence
- Network access in prose of the SKILL.mddocs/SKILL.md:481Low confidence
- Network access in prose of the SKILL.mddocs/SKILL.md:482Low confidence
- Executable script in code of a file that runsdocs/app/[[...slug]]/page.tsx:1High confidence
- Network access in code of a file that runsdocs/app/[[...slug]]/page.tsx:21High confidence
- Network access in code of a file that runsdocs/app/[[...slug]]/page.tsx:22High confidence
- Network access in code of a file that runsdocs/app/[[...slug]]/page.tsx:23High confidence
- Network access in code of a file that runsdocs/app/[[...slug]]/page.tsx:24High confidence
- Network access in code of a file that runsdocs/app/[[...slug]]/page.tsx:25High confidence
- Executable script in code of a file that runsdocs/app/api/search/route.ts:1High confidence
and 106 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md docs/SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md docs/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md docs/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md docs/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard 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.