daemon: use CLAUDE_CONFIG_DIR for OAuth credential separation, fix shutdown
Replace agent_api_key (which didn't work — claude CLI uses OAuth, not API keys) with agent_config_dir. When configured, sets CLAUDE_CONFIG_DIR on claude subprocesses so daemon agent work authenticates with separate OAuth credentials from the interactive session. Fix daemon not shutting down on SIGTERM: use process::exit(0) after cleanup so PR_SET_PDEATHSIG kills child claude processes immediately. Previously the daemon hung waiting for choir threads/subprocesses to finish. Restart now takes ~20ms instead of timing out. Also: main.rs now uses `use poc_memory::*` since lib.rs exists.
This commit is contained in:
parent
2f3ac1ecb6
commit
e33fd4ffbc
4 changed files with 15 additions and 40 deletions
|
|
@ -26,9 +26,9 @@ fn call_model(model: &str, prompt: &str) -> Result<String, String> {
|
|||
.stdin(fs::File::open(&tmp).map_err(|e| format!("open temp: {}", e))?)
|
||||
.env_remove("CLAUDECODE");
|
||||
|
||||
// Use separate API key for agent work if configured
|
||||
if let Some(ref key) = crate::config::get().agent_api_key {
|
||||
cmd.env("ANTHROPIC_API_KEY", key);
|
||||
// Use separate OAuth credentials for agent work if configured
|
||||
if let Some(ref dir) = crate::config::get().agent_config_dir {
|
||||
cmd.env("CLAUDE_CONFIG_DIR", dir);
|
||||
}
|
||||
|
||||
let result = unsafe {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue