Skip to content

Forcing the model to use absolute paths is counter productive #4634

@understood-the-assignment

Description

Please explain the motivation behind the feature request.
Goose seems to be strongly asking models to use absolute paths when invoking tools.

This doesn't seem to be what other similar software (Claude Code, OpenAI Codex, Gemini CLI) are doing.

In my experience, this also works poorly in practice:

  • Google's models seem to heavily penalize repetition, which cause the model to frequently make "typos" when entering long paths. This requires it to retry commands multiple times.

  • Claude frequently seems to make mistakes due to being coerced to use absolute paths, see e.g. here: Add unified diff support to text editor #4522 (comment)

Additionally, I think giving the absolute path to the model is an unnecessary and easily preventable information leak. The current working context of a tool like goose CLI is implicitly the working directory, and the world outside the working directory (including its location in it) is largely irrelevant. By including the path of the current working directory as part of the prompt, we are automatically (and without a chance for consent) divulging the user's UNIX username, the name of the project they are working on, and possibly more information.

Describe the solution you'd like
We should support relative paths everywhere, and stop discouraging models from using them.

Describe alternatives you've considered
In general, IMHO we should avoid diverging too much from the prompts, tool APIs and descriptions of the upstream models, and stick as closely as possible to the tools used by upstream providers' implementations (Claude Code, OpenAI Codex, Gemini CLI), as that is what they have been likely trained on.

Additional context
I have been evaluating various tools in this category for personal and professional use.

  • I have verified this does not duplicate an existing feature request

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions