Skip to content

Conversation

@DOsinga
Copy link
Collaborator

@DOsinga DOsinga commented Jan 30, 2026

Summary

normalize the name when doing a lookup.

@DOsinga DOsinga force-pushed the fix/case-insensitive-builtin-extensions branch 2 times, most recently from 8af3447 to dc6b7c4 Compare January 30, 2026 00:26
@DOsinga DOsinga requested a review from michaelneale January 30, 2026 00:27
@DOsinga DOsinga force-pushed the fix/case-insensitive-builtin-extensions branch from dc6b7c4 to d234179 Compare January 30, 2026 00:34
@michaelneale
Copy link
Collaborator

built locally and this works. Only follow on is why do we even use name for anything really programmatic other than display... but yes this fixes it.

Builtin extensions were previously matched case-sensitively against
the BUILTIN_EXTENSIONS map, causing failures when config.yaml contained
capitalized names like "Developer" instead of "developer".

Platform extensions already normalized names via the normalize() function,
but builtin extensions did not. This inconsistency meant that:
- Platform extension "Extension Manager" worked (normalized to "extensionmanager")
- Builtin extension "Developer" failed (not normalized, couldn't find "Developer" key)

Changes:
- Normalize builtin extension names before lookup
- Use normalized name in Docker exec command for consistency
- Add test to verify case-insensitive matching works correctly

Fixes issue where CLI users with capitalized builtin extension names
in their config would see "Unknown builtin extension" errors.

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
@DOsinga DOsinga force-pushed the fix/case-insensitive-builtin-extensions branch from d234179 to 97d5062 Compare January 30, 2026 00:40
@DOsinga DOsinga merged commit 4d100d5 into main Jan 30, 2026
16 checks passed
@DOsinga DOsinga deleted the fix/case-insensitive-builtin-extensions branch January 30, 2026 00:55
zanesq added a commit that referenced this pull request Jan 30, 2026
* 'main' of github.com:block/goose:
  Fix: Small update UI settings prompt injection (#6830)
  Remove autogenerated .gooseignore files that don't belong in repo (#6824)
  Fix case-insensitive matching for builtin extension names (#6825)
  docs: cli newline keybinding (#6823)
  Update version to 1.22.0 (#6821)
  Refactor: move persisting extension to session outside of route (#6685)
  acp: load configured extensions and refactor tests (#6803)
  docs: usage data collection (#6822)
  feat: platform extension migrator + code mode rename (#6611)
  feat: CLI flag to skip loading profile extensions (#6780)
lifeizhou-ap added a commit that referenced this pull request Feb 2, 2026
* main:
  fix: fixed the broken release (#6887)
  feat: Streamable HTTP transport for ACP + goose-acp usage (#6741)
  Add Laminar for Observability (#6514)
  Missed a couple of places that hard code J for the newline key (#6853)
  fix(ui): preserve working directory when creating new chat (#6789)
  blog: add 5 tips for building MCP Apps that work (#6855)
  docs: session isolation (#6846)
  upgrade react and electron to latest (#6845)
  Fix: Small update UI settings prompt injection (#6830)
  Remove autogenerated .gooseignore files that don't belong in repo (#6824)
  Fix case-insensitive matching for builtin extension names (#6825)
  docs: cli newline keybinding (#6823)
  Update version to 1.22.0 (#6821)
  Refactor: move persisting extension to session outside of route (#6685)
  acp: load configured extensions and refactor tests (#6803)
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.

3 participants