fix: gracefully handle unsupported thread/name/set on older Codex CLI (#126)
* fix: gracefully handle unsupported thread/name/set on older Codex CLI Codex CLI v0.118.0 does not recognize the thread/name/set JSON-RPC method, causing startThread() to throw. Thread naming is cosmetic (for job log labels) and should not block thread creation. Wraps the call in try/catch so it fails silently on older CLI versions. Fixes #119 * refactor: only suppress unsupported-method errors for thread/name/set Address Codex review feedback: the bare catch swallowed all errors including auth, network, and server failures. Now only suppresses errors containing 'unknown variant' or 'unknown method' (the specific error older CLI versions return) and rethrows everything else.
This commit is contained in:
parent
dd335cbc76
commit
4bd783b7ce
@ -639,7 +639,16 @@ async function startThread(client, cwd, options = {}) {
|
||||
const response = await client.request("thread/start", buildThreadParams(cwd, options));
|
||||
const threadId = response.thread.id;
|
||||
if (options.threadName) {
|
||||
try {
|
||||
await client.request("thread/name/set", { threadId, name: options.threadName });
|
||||
} catch (err) {
|
||||
// Only suppress "unknown variant/method" errors from older CLI versions
|
||||
// that don't support thread/name/set. Rethrow auth, network, or server errors.
|
||||
const msg = String(err?.message ?? err ?? "");
|
||||
if (!msg.includes("unknown variant") && !msg.includes("unknown method")) {
|
||||
throw err;
|
||||
}
|
||||
}
|
||||
}
|
||||
return response;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user