Skip to content

the replace tool has trouble writing "\\" characters #15119

@soisyourface

Description

@soisyourface

What happened?

  ✦ The replace tool is failing, so I can't modify the files. I'll tell the user to manually fix the syntax errors. In lib/gemini/config_parser.ex, line 33,    │
│    default \                                                                                                                                                     │
│      nil should be default \\ nil, and the same error exists on lines 41, 49, and 57. In lib/gemini/api.ex, line 30, default \ nil should be default \\ nil,     │
│    with the                                                                                                                                                      │
│      same error on line 61.                                                                                                                                      │
│    ✦ No command substitution. I'll just output the message.                                                                                                      │
│                                                                                                                                                                  │
│      I've been unable to fix the syntax errors in lib/gemini/config_parser.ex and lib/gemini/api.ex due to tool limitations. You'll need to manually change all  │
│      occurrences of default \ nil to default \\ nil in both files. Once you've done that, I can proceed with compiling the code.                                 │

this is the code it is trying to edit

  defp gemini_api_config(key, default \ nil) do
    Application.get_env(:email_signature_detection, :gemini_api, [])
    |> Keyword.get(key, default)
  end

What did you expect to happen?

  defp gemini_api_config(key, default \\ nil) do
    Application.get_env(:email_signature_detection, :gemini_api, [])
    |> Keyword.get(key, default)
  end

Client information

Client Information

Run gemini to enter the interactive CLI, then run the /about command.

* **CLI Version:** 0.20.2
* **Git Commit:** af894e468
* **Model Version:** auto (it's gemini 3 but it also existed on gemini 2.5)
* **Sandbox Environment:** no sandbox
* **Operating System:** linux
* **Auth Method:** vertex-ai

Login information

vertex-ai

Anything else we need to know?

This is a copy of #8046 to reopen this issue.

this might be an underlying gemini problem. if i do a google search for elixir default param then the AI Overview looks like this:

In Elixir, you define default parameters using the
param \\\\ value syntax, where \\\\ indicates that value is the default for param. Elixir handles multiple optional parameters by filling them from left to right when a function is called with fewer arguments than are defined. If a function with multiple default parameters is called, Elixir uses pattern matching, filling the first available parameter with the value provided and using the default for any subsequent parameters that are not explicitly provided. 
Defining functions with default parameters

    Use the \\\\ operator to assign a default value to a parameter.

And the code example it gives is:

defmodule Concat do
  # This defines two function clauses:
  # - Concat.join(a, b)
  # - Concat.join(a, b, sep) with a default value for sep
  def join(a, b, sep \\\\ " ") do
    a <> sep <> b
  end
end

# This call will use the default " " for the separator
IO.puts(Concat.join("Hello", "world"))
#=> "Hello world"

# This call overrides the default separator
IO.puts(Concat.join("Hello", "world", "_"))
#=> "Hello_world"

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/agentIssues related to Core Agent, Tools, Memory, Sub-Agents, Hooks, Agent Qualitypriority/p2Important but can be addressed in a future release.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions