zeroclaw-labs/zeroclaw · error
Jina AI API key not configured (decrypted value is empty)
Error message
Jina AI API key not configured (decrypted value is empty)
What it means
Error "Jina AI API key not configured (decrypted value is empty)" thrown in zeroclaw-labs/zeroclaw.
Source
Thrown at crates/zeroclaw-tools/src/web_search_tool.rs:544
.filter(|k| !k.is_empty())
.ok_or_else(|| {
::zeroclaw_log::record!(
ERROR,
::zeroclaw_log::Event::new(module_path!(), ::zeroclaw_log::Action::Reject)
.with_outcome(::zeroclaw_log::EventOutcome::Failure)
.with_attrs(::serde_json::json!({"search_provider": "jina"})),
"web_search: Jina AI API key not configured"
);
anyhow::Error::msg("Jina AI API key not configured")
})?;
if zeroclaw_config::secrets::SecretStore::is_encrypted(&raw_key) {
let zeroclaw_dir = self.config_path.parent().unwrap_or_else(|| Path::new("."));
let store =
zeroclaw_config::secrets::SecretStore::new(zeroclaw_dir, self.secrets_encrypt);
let plaintext = store.decrypt(&raw_key)?;
if plaintext.is_empty() {
anyhow::bail!("Jina AI API key not configured (decrypted value is empty)");
}
Ok(plaintext)
} else {
Ok(raw_key)
}
}
async fn search_jina(&self, query: &str) -> anyhow::Result<String> {
let api_key = self.resolve_jina_api_key()?;
let builder = reqwest::Client::builder()
.timeout(Duration::from_secs(self.timeout_secs))
.user_agent("ZeroClaw/1.0 (https://zeroclaw.ai)");
let builder =
zeroclaw_config::schema::apply_runtime_proxy_to_builder(builder, "tool.web_search");
let client = builder.build()?;
// Jina Search API requires POST with JSON bodyView on GitHub (pinned to 88bb9c8533)
Solutions
- Set the Jina AI API key in the web_search configuration or via `zeroclaw quickstart`.
- Verify the decrypted secret value is not empty; store the key again if it was saved incorrectly.
When it happens
Trigger: Thrown at crates/zeroclaw-tools/src/web_search_tool.rs:544 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of zeroclaw-labs/zeroclaw@88bb9c8533 (2026-08-23).
Data as JSON: /api/errors/d052058a226c8d60.
Report an issue: GitHub.