github / github/copilot-cli

ask_user doesn't support multiple line free-form answer

Open
#2,067 0 comments 2 reactions 0 assignees View on GitHub
area:tools
Dominant language
Shell
Stars
11.2k
Forks
1.9k
Avg merge
14h 16m
Merged PRs (30d)
6

Description

### Describe the feature or problem you'd like to solve

Support multiline answer in ask_user tool

### Proposed solution

Add a new option property to `ask_user` tool. It is effective only when `allow_freeform` is `true` (and `choices` is empty).

Should the name be something like `freeform_multiple_line`?

### Example prompts or workflows

1. Tell Copilot to ask me to run a `sudo` command in favor of it and paste its result
2. Copilot run `ask_user` tool when `sudo` is required (#1082)
3. I run the command in another terminal, copy the result, and paste it into the CLI
4. Workflow continues

### Additional context

```
❯ I want to test whether the ask_user tool supports multiple-line answers. Make choices empty when you call that tool.

● Asked user: Please enter a multi-line answer to test if the ask_user ...
└ User responded: I opened a VS Code. Line 1Line 2Line 3I copied and pasted the...

● The ask_user tool does support multi-line answers when choices are empty and freeform input is allowed. Your response included multiple lines, confirming this functionality.

❯ Really? Paste it into a plain-text code block as is.

● Sure! Here’s your multi-line answer exactly as received:

I opened a VS Code. Line 1Line 2Line 3I copied and pasted them into the Terminal.

It appears the lines were concatenated without line breaks. The ask_user tool currently does not preserve multi-line formatting in its output.
```

Pasted content:

```
I opened a VS Code. Line 1
Line 2
Line 3
I copied and pasted them into the Terminal.
```

Current workaround: pass the result after piped `| zstd -c | base64 -w 0` or `| xz -c | base64 -w 0`

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.