core-agent-ide/codex-rs/cli/src
Michael Bolin 421e159888
feat: make cwd a required field of Config so we stop assuming std::env::current_dir() in a session (#800)
In order to expose Codex via an MCP server, I realized that we should be
taking `cwd` as a parameter rather than assuming
`std::env::current_dir()` as the `cwd`. Specifically, the user may want
to start a session in a directory other than the one where the MCP
server has been started.

This PR makes `cwd: PathBuf` a required field of `Session` and threads
it all the way through, though I think there is still an issue with not
honoring `workdir` for `apply_patch`, which is something we also had to
fix in the TypeScript version: https://github.com/openai/codex/pull/556.

This also adds `-C`/`--cd` to change the cwd via the command line.

To test, I ran:

```
cargo run --bin codex -- exec -C /tmp 'show the output of ls'
```

and verified it showed the contents of my `/tmp` folder instead of
`$PWD`.
2025-05-04 10:57:12 -07:00
..
linux-sandbox feat: codex-linux-sandbox standalone executable (#740) 2025-04-29 19:21:26 -07:00
landlock.rs feat: make cwd a required field of Config so we stop assuming std::env::current_dir() in a session (#800) 2025-05-04 10:57:12 -07:00
lib.rs feat: codex-linux-sandbox standalone executable (#740) 2025-04-29 19:21:26 -07:00
main.rs chore: remove the REPL crate/subcommand (#754) 2025-04-30 10:15:50 -07:00
proto.rs feat: initial import of Rust implementation of Codex CLI in codex-rs/ (#629) 2025-04-24 13:31:40 -07:00
seatbelt.rs feat: make cwd a required field of Config so we stop assuming std::env::current_dir() in a session (#800) 2025-05-04 10:57:12 -07:00