From 5aebf4f4c5f1d1b282bb8e36893eca720b98e2a5 Mon Sep 17 00:00:00 2001 From: Yeachan-Heo Date: Wed, 1 Apr 2026 02:14:20 +0000 Subject: [PATCH] fix: remove debug logs, set model-specific max_tokens (opus=32k, sonnet/haiku=64k) --- .claude/sessions/session-1775009583240.json | 1 + .claude/sessions/session-1775009651284.json | 1 + rust/crates/api/src/client.rs | 13 ------------- rust/crates/rusty-claude-cli/src/main.rs | 16 +++++++++++++--- 4 files changed, 15 insertions(+), 16 deletions(-) create mode 100644 .claude/sessions/session-1775009583240.json create mode 100644 .claude/sessions/session-1775009651284.json diff --git a/.claude/sessions/session-1775009583240.json b/.claude/sessions/session-1775009583240.json new file mode 100644 index 0000000..332894e --- /dev/null +++ b/.claude/sessions/session-1775009583240.json @@ -0,0 +1 @@ +{"messages":[{"blocks":[{"text":"Explain what Rust is in exactly 3 sentences.","type":"text"}],"role":"user"},{"blocks":[{"text":"Rust is a systems programming language focused on safety, speed, and concurrency, designed to provide memory safety without relying on a garbage collector. It achieves this through its ownership system, which enforces strict rules about how memory is accessed and shared at compile time, eliminating entire classes of bugs like data races and dangling pointers. Rust has gained widespread adoption for building performance-critical software such as operating systems, game engines, web browsers, and command-line tools.","type":"text"}],"role":"assistant","usage":{"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"input_tokens":2383,"output_tokens":102}}],"version":1} \ No newline at end of file diff --git a/.claude/sessions/session-1775009651284.json b/.claude/sessions/session-1775009651284.json new file mode 100644 index 0000000..3d1830e --- /dev/null +++ b/.claude/sessions/session-1775009651284.json @@ -0,0 +1 @@ +{"messages":[{"blocks":[{"text":"Say hello","type":"text"}],"role":"user"},{"blocks":[{"text":"Hello! 👋 How can I help you today?","type":"text"}],"role":"assistant","usage":{"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"input_tokens":2958,"output_tokens":16}}],"version":1} \ No newline at end of file diff --git a/rust/crates/api/src/client.rs b/rust/crates/api/src/client.rs index 3b137b4..7ef7e83 100644 --- a/rust/crates/api/src/client.rs +++ b/rust/crates/api/src/client.rs @@ -311,9 +311,6 @@ impl AnthropicClient { request: &MessageRequest, ) -> Result { let request_url = format!("{}/v1/messages", self.base_url.trim_end_matches('/')); - let resolved_base_url = self.base_url.trim_end_matches('/'); - eprintln!("[anthropic-client] resolved_base_url={resolved_base_url}"); - eprintln!("[anthropic-client] request_url={request_url}"); let request_builder = self .http .post(&request_url) @@ -321,16 +318,6 @@ impl AnthropicClient { .header("content-type", "application/json"); let mut request_builder = self.auth.apply(request_builder); - eprintln!( - "[anthropic-client] headers x-api-key={} authorization={} anthropic-version={ANTHROPIC_VERSION} content-type=application/json", - if self.auth.api_key().is_some() { - "[REDACTED]" - } else { - "" - }, - self.auth.masked_authorization_header() - ); - request_builder = request_builder.json(request); request_builder.send().await.map_err(ApiError::from) } diff --git a/rust/crates/rusty-claude-cli/src/main.rs b/rust/crates/rusty-claude-cli/src/main.rs index f1bb7b0..b5a4e57 100644 --- a/rust/crates/rusty-claude-cli/src/main.rs +++ b/rust/crates/rusty-claude-cli/src/main.rs @@ -35,7 +35,17 @@ use serde_json::json; use tools::{execute_tool, mvp_tool_specs, ToolSpec}; const DEFAULT_MODEL: &str = "claude-opus-4-6"; -const DEFAULT_MAX_TOKENS: u32 = 32; +fn max_tokens_for_model(model: &str) -> u32 { + if model.contains("opus") { + 32_000 + } else if model.contains("sonnet") { + 64_000 + } else if model.contains("haiku") { + 64_000 + } else { + 16_384 + } +} const DEFAULT_DATE: &str = "2026-03-31"; const DEFAULT_OAUTH_CALLBACK_PORT: u16 = 4545; const VERSION: &str = env!("CARGO_PKG_VERSION"); @@ -1046,7 +1056,7 @@ impl LiveCli { .with_base_url(api::read_base_url()); let request = MessageRequest { model: self.model.clone(), - max_tokens: DEFAULT_MAX_TOKENS, + max_tokens: max_tokens_for_model(&self.model), messages: vec![InputMessage { role: "user".to_string(), content: vec![InputContentBlock::Text { @@ -1970,7 +1980,7 @@ impl ApiClient for AnthropicRuntimeClient { fn stream(&mut self, request: ApiRequest) -> Result, RuntimeError> { let message_request = MessageRequest { model: self.model.clone(), - max_tokens: DEFAULT_MAX_TOKENS, + max_tokens: max_tokens_for_model(&self.model), messages: convert_messages(&request.messages), system: (!request.system_prompt.is_empty()).then(|| request.system_prompt.join("\n\n")), tools: self.enable_tools.then(|| {