Skip to content

Conversation

@Evanfeenstra
Copy link
Contributor

Summary

Included builtin extension names in the check_missing_extensions_or_exit check, so that you can add --with-builtin to cli call while also including --resume

The problem:

goose run --with-builtin developer --output-format stream-json --name session1 -t "read the readme"
goose run --with-builtin developer --output-format stream-json --name session1 -t "summarize our convo" --resume
results in: "Extension(s) developer from previous session are no longer available. Restore for this session?"

Type of Change

  • Feature
  • [ x ] Bug fix
  • Refactor / Code quality
  • Performance improvement
  • Documentation
  • Tests
  • Security fix
  • Build / Release
  • Other (specify below)

AI Assistance

  • [ x ] This PR was created or reviewed with AI assistance

Testing

Yes, I verified this works by running the flow locally from ./target/debug/goose, and the interative cli prompt did not showup

Related Issues

Relates to #ISSUE_ID
Discussion: LINK (if any)

Screenshots/Demos (for UX changes)

Before:

After:

Copilot AI review requested due to automatic review settings January 14, 2026 19:40
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes a bug where resuming a session with --with-builtin flags would incorrectly prompt the user about missing extensions, even though those extensions are being explicitly provided via CLI arguments. The fix adds a check to skip the "missing extension" warning for extensions that are supplied through the CLI.

Changes:

  • Modified check_missing_extensions_or_exit to accept a set of CLI-provided extension names
  • Extensions provided via CLI are now excluded from the missing extensions check during session resume

}

// Collect CLI-provided extension names to avoid false "missing" warnings on resume
let cli_extension_names: HashSet<String> = session_config.builtins.iter().cloned().collect();
Copy link

Copilot AI Jan 14, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The variable collects only builtin extensions, but stdio and streamable_http extensions (added via session_config.extensions and session_config.streamable_http_extensions) are parsed and added later (lines 537-589). However, these other extension types don't go through check_missing_extensions_or_exit, so this is actually correct. The variable name cli_extension_names could be misleading though - consider renaming to cli_builtin_names to clarify it only contains builtin extensions.

Copilot uses AI. Check for mistakes.
@Evanfeenstra Evanfeenstra force-pushed the ef/fix-builtin-extensions-on-resume branch from dc5fd8d to 8355c3a Compare January 14, 2026 19:43
Copilot AI review requested due to automatic review settings January 14, 2026 19:45
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.

@Evanfeenstra
Copy link
Contributor Author

maybe this is already solved with #6412 .. but still, this should not be an error at all IMO

@blackgirlbytes
Copy link
Contributor

blackgirlbytes commented Jan 14, 2026

maybe this is already solved with #6412 .. but still, this should not be an erro

I stand corrected from our thread in Discord. only half the problem is resolved with 6412. After looking at your PR, this would solve the problem fully

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants