-
Notifications
You must be signed in to change notification settings - Fork 2.4k
allow --with-builtin extension on cli resume #6502
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
allow --with-builtin extension on cli resume #6502
Conversation
There was a problem hiding this 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_exitto 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(); |
Copilot
AI
Jan 14, 2026
There was a problem hiding this comment.
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.
Signed-off-by: Evanfeenstra <[email protected]>
dc5fd8d to
8355c3a
Compare
Signed-off-by: Evanfeenstra <[email protected]>
There was a problem hiding this 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.
|
maybe this is already solved with #6412 .. but still, this should not be an error at all IMO |
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 |
Summary
Included builtin extension names in the check_missing_extensions_or_exit check, so that you can add
--with-builtinto cli call while also including--resumeThe 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" --resumeresults in: "Extension(s) developer from previous session are no longer available. Restore for this session?"
Type of Change
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: