Skip to content

fix: convert quoted numeric config values to numbers if needed - #8844

Merged
DOsinga merged 1 commit into
aaif-goose:mainfrom
philipphenkel:numeric-config
May 13, 2026
Merged

fix: convert quoted numeric config values to numbers if needed#8844
DOsinga merged 1 commit into
aaif-goose:mainfrom
philipphenkel:numeric-config

Conversation

@philipphenkel

@philipphenkel philipphenkel commented Apr 25, 2026

Copy link
Copy Markdown
Contributor

Summary

Fix typed config reads so provider timeout values stored as strings can be used as numbers.

Provider config values are currently stored in config.yaml as strings, which means entries like:

OLLAMA_TIMEOUT: '1200'

failed to convert to u64 when provider code read them as numeric values. This now works for provider timeout configs such as OPENAI_TIMEOUT, OLLAMA_TIMEOUT, and
LITELLM_TIMEOUT.

Context

A follow-up in #8437 reported that timeout values written with quotes in config.yaml were ignored unless the quotes were removed manually:
#8437 (comment)

Problem exist in version 1.32.0

Changes

  • Keep normal YAML deserialization as the first path.
  • If typed YAML deserialization fails for a string scalar, parse it with the same scalar parsing used for environment variables.
  • Preserve string behavior when callers request String.
  • Add tests for numeric YAML values, quoted numeric YAML values, and invalid quoted numeric values.

Testing

  • cargo test -p goose providers::
  • cargo test -p goose config::base::tests

Ollama provider specific test. Set timeout to 6000 via goose desktop app.
OLLAMA_TIMEOUT: '6000' is written to the config .yaml. It has quotes around it, causing it to be ignored before this fix. With this fix the timeout value is respected.

Related Issues

Relates to #8437
problem report

@DOsinga DOsinga left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Clean fix, good tests. Thanks!

One thing: your commit is missing a Signed-off-by line. Please amend with git commit --amend --signoff and force-push so the DCO requirement is satisfied.

Signed-off-by: Philipp Henkel <philipp.henkel@gmail.com>
@philipphenkel

philipphenkel commented May 12, 2026

Copy link
Copy Markdown
Contributor Author

Clean fix, good tests. Thanks!

One thing: your commit is missing a Signed-off-by line. Please amend with git commit --amend --signoff and force-push so the DCO requirement is satisfied.

@DOsinga Thanks for the review! I’ve added the sign-off.

@DOsinga
DOsinga added this pull request to the merge queue May 13, 2026
Merged via the queue into aaif-goose:main with commit afb5539 May 13, 2026
22 checks passed
lifeizhou-ap added a commit that referenced this pull request May 14, 2026
* main: (66 commits)
  Switch GH pages deploy to actions/artifact workflow (#9025)
  fix(summon): re-apply canonical limits when delegate overrides model (#9183)
  Split code signing from build (#8587)
  refactor(logging): consolidate logging setup into shared helper in goose crate (#8817)
  fix(cli): report cumulative total_tokens in stream-json/json output (#8910)
  plugins: add open plugins (just skills for now) (#9063)
  fix(providers): refresh GCP metadata server token on expiration (#8929)
  chore(deps): bump the cargo-minor-and-patch group across 1 directory with 14 updates (#9178)
  chore(deps): bump bzip2 from 0.5.2 to 0.6.1 (#8964)
  chore(deps): bump tauri from 2.10.3 to 2.11.1 in /ui/goose2/src-tauri (#9066)
  chore(deps): bump hono from 4.12.14 to 4.12.18 in /evals/open-model-gym/mcp-harness (#9073)
  localize hardcoded strings in provider settings UI (#8931)
  chore(deps): bump @babel/plugin-transform-modules-systemjs from 7.28.5 to 7.29.4 in /documentation (#9122)
  move settings into app shell (#9047)
  Add Location column to CLI skills table (#8785)
  (feat): add routstr as a declarative provider (#9175)
  Add FuturMix provider (#8840)
  fix: convert quoted numeric config values to numbers if needed (#8844)
  fix(ui): keep SSE reconnect loop alive on long disconnects (#8717) (#8846)
  fix(openai): apply request_params to outgoing API payload (#9151)
  ...
shafqatevo pushed a commit to shafqatevo/goose that referenced this pull request Aug 7, 2026
…goose#8844)

Signed-off-by: Philipp Henkel <philipp.henkel@gmail.com>
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