Skip to content

Remove default 60s command timeout#3

Open
jgowdy-godaddy wants to merge 2 commits into
mainfrom
remove-default-timeout
Open

Remove default 60s command timeout#3
jgowdy-godaddy wants to merge 2 commits into
mainfrom
remove-default-timeout

Conversation

@jgowdy-godaddy
Copy link
Copy Markdown
Contributor

Summary

  • The default --timeout was 60s, meaning every command had an implicit 60-second deadline
  • This silently kills long-running commands (daemon processes, interactive sessions, anything that takes >60s)
  • Changed default to 0s (no timeout) — commands that want a deadline can still pass --timeout 60s explicitly
  • The framework should not impose a timeout that consumers don't expect

Context

This caused gocode-dev's secret-agent daemon to die after exactly 60 seconds on every invocation after the cli-engine integration, triggering repeated Touch ID prompts as the agent respawned fresh each time.

Test plan

  • All 229 tests pass
  • cargo fmt --all --check clean
  • cargo clippy --workspace --all-targets -- -D warnings clean

The default timeout of 60s silently kills long-running commands like
daemon processes. Commands that want a timeout can still pass --timeout
explicitly; the framework should not impose one by default.
Sync the script file to disk before setting permissions and executing.
On Linux, std::fs::write can return before the kernel finishes flushing
the inode, causing ETXTBSY when the test immediately tries to exec the
script.
@jgowdy-godaddy jgowdy-godaddy force-pushed the remove-default-timeout branch from ce0a81b to 05240d6 Compare May 27, 2026 02:20
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.

1 participant