Interactive installers and prompts
Continue an installer in the same terminal session.
When a recurring setup task needs human input, test whether your agent can answer each prompt and verify the outcome. Start with a small, owned fixture before evaluating your real installer.
Run a reproducible example
This Python 3 fixture asks for a project name and confirmation, then writes a local JSON file. It installs no packages, uses no external services and refuses to overwrite an existing result. Run it in a fresh directory.
Read or download the complete fixture. The transcript below is expected output, not a recording of an agent run or a comparative benchmark.
mkdir prompt-evaluation
cd prompt-evaluation
curl -fsS https://agend.sh/examples/interactive-setup.py -o interactive-setup.py
cat interactive-setup.py
python3 interactive-setup.py Enter demo, then y. The expected interaction is:
Project name: demo
Create local configuration? [y/n]: y
Wrote demo-config.json Try it through your existing agent
- Connect your agent using the CLI setup guide. Ask it to list your environments and select the intended test environment.
- Ask it to prepare the fixture in a fresh directory and run
python3 interactive-setup.pywithshell_execin interactive mode. - When the program awaits input, continue that session using
shell_send_raw: senddemoand a newline, thenyand a newline. Include the same environment in every call. - Wait for process completion. If an input-wait snapshot briefly races with exit, refresh the same session with an empty input read before starting another command.
- Verify the result independently with the command below. A prompt or a completed tool call alone is insufficient evidence.
Verify the outcome and compare the work
python3 -c 'import json; from pathlib import Path; data = json.loads(Path("demo-config.json").read_text()); assert data == {"project": "demo", "enabled": True}; print("Configuration verified")' Success requires the expected file contents and a successful verification exit status. Also run a cancellation case in a separate fresh directory: answer n and confirm that no configuration file appears. Repeating the accepted setup in the original directory must fail rather than overwrite the file.
Compare your current terminal tools and agend with the same task, agent/model settings and success checks. Record completion, human interventions, elapsed time, model/tool cost and setup effort. Keep failed runs in the results.
Where this example ends
The fixture isolates interactive input. A real installer may also need permissions, network access, larger resources or application-specific checks. Password and sudo authentication have separate handling; do not put real credentials into example transcripts.
If your installer already offers a reliable noninteractive mode or API, that may be the simpler option. This fixture works with ordinary terminal tools too; it is an evaluation starting point, not evidence that those tools fail.
Read how input readiness differs from process exit and application health.