Skip to content

Commit 40df97e

Browse files
committed
chore(release): prepare v0.9.5
1 parent 84a83c4 commit 40df97e

9 files changed

Lines changed: 20 additions & 14 deletions

File tree

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,12 @@ Before `1.0.0`, breaking changes may still ship in minor releases.
77

88
## [Unreleased]
99

10+
## [0.9.5]
11+
12+
### Fixed
13+
14+
- Improved CLI error messages so authentication, validation, and network failures explain what was not completed and how to recover.
15+
1016
## [0.9.4]
1117

1218
### Fixed

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "kagi"
3-
version = "0.9.4"
3+
version = "0.9.5"
44
edition = "2024"
55
description = "Agent-native CLI for Kagi subscribers with JSON-first search output"
66
license = "MIT"

docs/commands/auth.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ It accepts:
7979
Bare `kagi auth` is intentionally interactive. In non-interactive environments it fails fast instead of hanging:
8080

8181
```text
82-
configuration error: kagi auth is interactive on TTYs; use `kagi auth set`, `kagi auth status`, or `kagi auth check` in non-interactive environments
82+
configuration error: `kagi auth` needs an interactive terminal. Use `kagi auth set`, `kagi auth status`, or `kagi auth check` in non-interactive environments
8383
```
8484

8585
That keeps CI, shell scripts, and other automation explicit.

docs/guides/troubleshooting.mdx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ sh install-kagi.sh
145145

146146
**Symptoms:**
147147
```
148-
Config error: missing credentials: set KAGI_API_KEY or KAGI_SESSION_TOKEN (env), or add [auth] api_key/session_token to .kagi.toml
148+
configuration error: missing credentials: search was not sent. Set KAGI_API_KEY or KAGI_SESSION_TOKEN, or run `kagi auth set --api-key <key>` or `kagi auth set --session-token <token>`
149149
```
150150

151151
**Diagnostic:**
@@ -225,7 +225,7 @@ Error: Auth error: Kagi Search API request rejected: HTTP 403 Forbidden
225225

226226
**Symptoms:**
227227
```
228-
Config error: this command requires KAGI_API_TOKEN (env or .kagi.toml [auth.api_token])
228+
configuration error: this command requires KAGI_API_TOKEN. Set it in the environment or run `kagi auth set --api-token <token>`
229229
```
230230

231231
**Cause:** Trying to use paid API commands without API token
@@ -728,7 +728,7 @@ kagi auth check 2>&1 || echo "Auth check failed"
728728
| `command not found` | Not in PATH | Reload shell or add to PATH |
729729
| `Permission denied` | Not executable | `chmod +x *kagi*` |
730730
| `missing credentials` | No credential set | Set KAGI_SESSION_TOKEN, KAGI_API_KEY, or KAGI_API_TOKEN depending on the command |
731-
| `kagi auth is interactive on TTYs` | Bare `kagi auth` was run in CI, a pipe, or another non-interactive environment | Use `kagi auth set`, `kagi auth status`, or `kagi auth check` instead |
731+
| `` `kagi auth` needs an interactive terminal `` | Bare `kagi auth` was run in CI, a pipe, or another non-interactive environment | Use `kagi auth set`, `kagi auth status`, or `kagi auth check` instead |
732732
| `auth check failed` | Invalid token | Regenerate token in Kagi settings |
733733
| `403 Forbidden` | Auth issue | Check token validity |
734734
| `No results found` | Empty query result | Try different query |
@@ -762,7 +762,7 @@ If you've tried the solutions above and still have issues:
762762
**Symptom:**
763763

764764
```text
765-
configuration error: kagi auth is interactive on TTYs; use `kagi auth set`, `kagi auth status`, or `kagi auth check` in non-interactive environments
765+
configuration error: `kagi auth` needs an interactive terminal. Use `kagi auth set`, `kagi auth status`, or `kagi auth check` in non-interactive environments
766766
```
767767

768768
**Cause:**

docs/index.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,4 +256,4 @@ The *kagi* CLI is open source and welcomes contributions. See the [Development G
256256

257257
---
258258

259-
*Last updated: June 2026 | kagi CLI v0.9.4*
259+
*Last updated: June 2026 | kagi CLI v0.9.5*

docs/reference/error-reference.mdx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ Error: Network error: request to https://kagi.com/api/v1/search timed out after
3737

3838
**Message:**
3939
```
40-
Config error: missing credentials: set KAGI_API_KEY or KAGI_SESSION_TOKEN (env), or add [auth] api_key/session_token to .kagi.toml
40+
configuration error: missing credentials: search was not sent. Set KAGI_API_KEY or KAGI_SESSION_TOKEN, or run `kagi auth set --api-key <key>` or `kagi auth set --session-token <token>`
4141
```
4242

4343
**Meaning:** No authentication token is configured.
@@ -61,7 +61,7 @@ kagi auth check
6161

6262
**Message:**
6363
```
64-
Config error: this command requires KAGI_SESSION_TOKEN (env or .kagi.toml [auth.session_token])
64+
configuration error: this command requires KAGI_SESSION_TOKEN. Set it in the environment or run `kagi auth set --session-token <token>`
6565
```
6666

6767
**Meaning:** Command needs a session token, but you may have only an API key or legacy API token configured.
@@ -86,7 +86,7 @@ kagi assistant "Explain Rust ownership"
8686

8787
**Message:**
8888
```
89-
Config error: this command requires KAGI_API_TOKEN (env or .kagi.toml [auth.api_token])
89+
configuration error: this command requires KAGI_API_TOKEN. Set it in the environment or run `kagi auth set --api-token <token>`
9090
```
9191

9292
**Meaning:** Command needs API token, but you may have only session token configured.
@@ -218,7 +218,7 @@ kagi translate "Bonjour tout le monde"
218218

219219
**Message:**
220220
```
221-
Config error: this search option requires KAGI_SESSION_TOKEN (env or .kagi.toml [auth.session_token])
221+
configuration error: this search option requires KAGI_SESSION_TOKEN. Set it in the environment or run `kagi auth set --session-token <token>`
222222
```
223223

224224
**Meaning:** You used a session-only search option like `--lens`, `--time`, `--order`, `--verbatim`, or personalization flags without a configured session token. `--region`, `--from-date`, and `--to-date` can use the V1 Search API when `KAGI_API_KEY` is configured.

docs/reference/output-contract.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -433,7 +433,7 @@ Rust 1.86 added...
433433
Errors are plain text on stderr. Typical examples:
434434

435435
```text
436-
Config error: missing credentials: set KAGI_API_KEY or KAGI_SESSION_TOKEN (env), or add [auth] api_key/session_token to .kagi.toml
436+
configuration error: missing credentials: search was not sent. Set KAGI_API_KEY or KAGI_SESSION_TOKEN, or run `kagi auth set --api-key <key>` or `kagi auth set --session-token <token>`
437437
Auth error: invalid or expired Kagi session token
438438
Network error: request to Kagi timed out
439439
```

npm/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "kagi-cli",
3-
"version": "0.9.4",
3+
"version": "0.9.5",
44
"description": "Node wrapper that installs the native kagi CLI binary",
55
"license": "MIT",
66
"repository": {

0 commit comments

Comments
 (0)