Skip to content

feat(gastown): Replace default model text input with model selector dropdown in town settings #1430

@jrf0110

Description

@jrf0110

Summary

The "Agent Defaults" section in town settings currently uses a plain text input for the default model (e.g., anthropic/claude-sonnet-4.6). Users have to know the exact model ID string. Replace this with the model selector dropdown component used elsewhere in the Next.js app.

Current

TownSettingsPageClient.tsx — the "Agent Defaults" section has:

<Input value={defaultModel} onChange={e => setDefaultModel(e.target.value)} placeholder="e.g. anthropic/claude-sonnet-4.6" />

Desired

A dropdown/combobox that:

  • Lists available models from the Kilo gateway (same data source as other model selectors in the app)
  • Groups by provider (Anthropic, OpenAI, Google, etc.)
  • Shows model name, context window, and pricing info
  • Supports search/filter for quick selection
  • Falls back gracefully if the model list API is unavailable (show the current text input as fallback)
  • Persists the selected model as the same OpenRouter-style ID string (provider/model-name)

Files

  • src/app/(app)/gastown/[townId]/settings/TownSettingsPageClient.tsx — Agent Defaults section
  • Reuse the existing model selector component from elsewhere in the app (find it via grep for ModelSelector or model-selector or similar)

Acceptance Criteria

  • Default model field uses a dropdown with searchable model list
  • Models grouped by provider
  • Selected model stored as the same ID format (no data migration)
  • Works in both personal and org-scoped settings pages

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Post-launchenhancementNew feature or requestgt:uiDashboard, settings, terminal, drawerskilo-auto-fixAuto-generated label by Kilokilo-triagedAuto-generated label by Kilo

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions