Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
1c497f0
work towards changing working dir in same session
zanesq Dec 2, 2025
1660cb0
Merge branch 'main' of github.com:block/goose into zane/working-dir
zanesq Dec 8, 2025
8b56483
remove replaceInCurrentWindow param not needed
zanesq Dec 8, 2025
a87d57c
clean up
zanesq Dec 8, 2025
3b902d1
Merge branch 'main' of github.com:block/goose into zane/working-dir
zanesq Dec 10, 2025
b0824f3
change working dir from hub
zanesq Dec 10, 2025
b379ef4
fix agent not picking up working dir
zanesq Dec 10, 2025
a24a105
cargo fmt
zanesq Dec 10, 2025
82dbd94
remove verbose logging
zanesq Dec 11, 2025
01917bc
change mention popover to use new working dir
zanesq Dec 11, 2025
c4c2c9c
set as recent dir and use for other new window launches
zanesq Dec 11, 2025
646fe88
each extension gets the correct working directory for its session, ev…
zanesq Dec 11, 2025
399277a
Add working dir to MOIM (#6081)
zanesq Dec 13, 2025
00d0a12
Merge branch 'main' of github.com:block/goose into zane/working-dir
zanesq Dec 15, 2025
71d8349
refactor from feedback
zanesq Dec 16, 2025
d8f27f3
move to agent helper utils
zanesq Dec 16, 2025
77abd7c
cleanup
zanesq Dec 16, 2025
960285b
refactor to remove newChatState frontend cache
zanesq Dec 16, 2025
6b4d570
get working_dir from agent synced with session
zanesq Dec 16, 2025
b3278b5
Merge branch 'main' of github.com:block/goose into zane/working-dir
zanesq Dec 16, 2025
58d78f7
Merge branch 'main' of github.com:block/goose into zane/working-dir
zanesq Dec 18, 2025
f7df336
Merge branch 'main' of github.com:block/goose into zane/working-dir
zanesq Dec 18, 2025
f6672b9
upstream merge fix
zanesq Dec 18, 2025
616ab9e
Session Specific Extensions (#6179)
zanesq Jan 5, 2026
ba5d68a
merge in main
zanesq Jan 5, 2026
760b1d2
change so working_dir is now passed explicitly when adding extensions…
zanesq Jan 5, 2026
dc855a0
restore_provider_from_session and remove agent restart in ui for exte…
zanesq Jan 5, 2026
110bc9c
merge in main
zanesq Jan 5, 2026
82adfdd
cleanup
zanesq Jan 5, 2026
84afae5
Merge branch 'main' of github.com:block/goose into zane/working-dir
zanesq Jan 5, 2026
658ff3f
regen types
zanesq Jan 5, 2026
9f1815a
change to restarting session
zanesq Jan 6, 2026
7c916a9
Merge branch 'main' of github.com:block/goose into zane/working-dir
zanesq Jan 6, 2026
d1e22fa
remove agent utils out to agent
zanesq Jan 6, 2026
97464d5
Merge branch 'main' of github.com:block/goose into zane/working-dir
zanesq Jan 6, 2026
3264f28
Merge origin/main into zane/working-dir
zanesq Jan 7, 2026
92f8dc5
cleanup
zanesq Jan 7, 2026
8899d17
fix new chat from pair not submitting
zanesq Jan 7, 2026
6143a2e
remove messageHistoryIndex no longer needed
zanesq Jan 8, 2026
08fd418
Merge branch 'main' of github.com:block/goose into zane/working-dir
zanesq Jan 8, 2026
bc2108c
cleanup
zanesq Jan 8, 2026
a59c768
change acp working dir to use cwd and make required
zanesq Jan 8, 2026
b3bb406
get working dir from session
zanesq Jan 8, 2026
6f83b36
perist extension state in add_extension
zanesq Jan 8, 2026
f2bc9d9
dont fallback to global extensions if not found
zanesq Jan 8, 2026
694a743
cleanup
zanesq Jan 8, 2026
0d32df6
add listener to refresh extension count
zanesq Jan 8, 2026
211a0ca
add back selective extension persistence
zanesq Jan 9, 2026
4235f8f
fix navigating back to pair with valid session
zanesq Jan 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 5 additions & 1 deletion crates/goose-mcp/src/developer/rmcp_developer.rs
Original file line number Diff line number Diff line change
Expand Up @@ -968,6 +968,10 @@ impl DeveloperServer {
.and_then(|s| s.to_str())
.unwrap_or("bash");

let working_dir = std::env::var("GOOSE_WORKING_DIR")
.ok()
.map(std::path::PathBuf::from);

if let Some(ref env_file) = self.bash_env_file {
if shell_name == "bash" {
shell_config.envs.push((
Expand All @@ -977,7 +981,7 @@ impl DeveloperServer {
}
}

let mut command = configure_shell_command(&shell_config, command);
let mut command = configure_shell_command(&shell_config, command, working_dir.as_deref());

if self.extend_path_with_shell {
if let Err(e) = get_shell_path_dirs()
Expand Down
6 changes: 6 additions & 0 deletions crates/goose-mcp/src/developer/shell.rs
Original file line number Diff line number Diff line change
Expand Up @@ -109,8 +109,14 @@ pub fn normalize_line_endings(text: &str) -> String {
pub fn configure_shell_command(
shell_config: &ShellConfig,
command: &str,
working_dir: Option<&std::path::Path>,
) -> tokio::process::Command {
let mut command_builder = tokio::process::Command::new(&shell_config.executable);

if let Some(dir) = working_dir {
command_builder.current_dir(dir);
}

command_builder
.stdout(Stdio::piped())
.stderr(Stdio::piped())
Expand Down
9 changes: 9 additions & 0 deletions crates/goose-server/src/openapi.rs
Original file line number Diff line number Diff line change
Expand Up @@ -354,6 +354,8 @@ derive_utoipa!(Icon as IconSchema);
super::routes::config_management::get_pricing,
super::routes::agent::start_agent,
super::routes::agent::resume_agent,
super::routes::agent::restart_agent,
super::routes::agent::update_working_dir,
super::routes::agent::get_tools,
super::routes::agent::read_resource,
super::routes::agent::call_tool,
Expand All @@ -372,6 +374,7 @@ derive_utoipa!(Icon as IconSchema);
super::routes::session::import_session,
super::routes::session::update_session_user_recipe_values,
super::routes::session::edit_message,
super::routes::session::get_session_extensions,
super::routes::schedule::create_schedule,
super::routes::schedule::list_schedules,
super::routes::schedule::delete_schedule,
Expand Down Expand Up @@ -431,6 +434,7 @@ derive_utoipa!(Icon as IconSchema);
super::routes::session::EditType,
super::routes::session::EditMessageRequest,
super::routes::session::EditMessageResponse,
super::routes::session::SessionExtensionsResponse,
Message,
MessageContent,
MessageMetadata,
Expand Down Expand Up @@ -529,9 +533,14 @@ derive_utoipa!(Icon as IconSchema);
super::routes::agent::CallToolResponse,
super::routes::agent::StartAgentRequest,
super::routes::agent::ResumeAgentRequest,
super::routes::agent::RestartAgentRequest,
super::routes::agent::UpdateWorkingDirRequest,
super::routes::agent::UpdateFromSessionRequest,
super::routes::agent::AddExtensionRequest,
super::routes::agent::RemoveExtensionRequest,
super::routes::agent::ResumeAgentResponse,
super::routes::agent::RestartAgentResponse,
goose::agents::ExtensionLoadResult,
super::routes::setup::SetupResponse,
super::tunnel::TunnelInfo,
super::tunnel::TunnelState,
Expand Down
Loading
Loading