From 19eddcab3e7bdbee40190f46278fe9764caab734 Mon Sep 17 00:00:00 2001 From: Codex Date: Thu, 21 May 2026 10:06:36 +0000 Subject: [PATCH] Preserve Codex cwd on turns --- internal/codexapp/client.go | 6 ++++-- internal/telegram/bot.go | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/internal/codexapp/client.go b/internal/codexapp/client.go index 91780d7..db3daa9 100644 --- a/internal/codexapp/client.go +++ b/internal/codexapp/client.go @@ -270,9 +270,11 @@ func (c *Client) StartTurn(ctx context.Context, threadID, cwd, model, reasoningE params := map[string]any{ "threadId": threadID, "input": input, - "cwd": cwd, "approvalPolicy": "on-request", - "sandboxPolicy": SandboxPolicy(sandbox, cwd), + } + if strings.TrimSpace(cwd) != "" { + params["cwd"] = cwd + params["sandboxPolicy"] = SandboxPolicy(sandbox, cwd) } if model != "" { params["model"] = model diff --git a/internal/telegram/bot.go b/internal/telegram/bot.go index c408d57..dec933e 100644 --- a/internal/telegram/bot.go +++ b/internal/telegram/bot.go @@ -710,7 +710,7 @@ func (b *Bot) continueThread(ctx context.Context, message *Message, session stor return err } - thread, workspace, err := b.ensureThread(ctx, userID, chatID, session) + thread, _, err := b.ensureThread(ctx, userID, chatID, session) if err != nil { return err } @@ -723,7 +723,7 @@ func (b *Bot) continueThread(ctx context.Context, message *Message, session stor } b.registerOutput(thread.CodexThreadID, chatID) - turn, err := b.codex.StartTurn(ctx, thread.CodexThreadID, workspace.Path, session.Model, session.ReasoningEffort, session.Sandbox, input) + turn, err := b.codex.StartTurn(ctx, thread.CodexThreadID, "", session.Model, session.ReasoningEffort, session.Sandbox, input) if err != nil { b.clearOutput(thread.CodexThreadID) return b.sendError(ctx, chatID, "Codex turn failed", err)