Long-running builds and asynchronous AI coding tasks often trap developers in a loop of constant terminal monitoring or prolonged context switching. To tackle this workflow friction, open-source developer David Daniel Ng has introduced Midway, a command-line interface written in Rust designed to free developers from their desks by bridging terminal processes with external messaging services.
Streamlining Shell Commands with Periodic and Completion Alerts
Midway operates by wrapping standard shell commands, such as executing a Rust build via midway run cargo build. While a command executes, the tool sends periodic reminder notifications by default every 15 seconds to signal that the process remains active. Once the script finishes, a completion notification is triggered, provided the command ran for a minimum duration of 10 seconds to avoid unnecessary spam from rapid execution. Developers can adjust these thresholds inside a local midway.yaml configuration file.
Beyond automatic build tracking, users can manually push direct text alerts at the end of custom deployment scripts using the midway send-text command.
Extending Terminal Reach Across Desktop and Chat Platforms
Rather than locking notifications to a local terminal, Midway routes alerts to a wide variety of destinations, allowing notifications to follow developers away from their workstations. Supported channels include native local desktop notifications, Slack, Ntfy, Discord, and Telegram. This multi-channel approach ensures that if a prolonged compilation process fails or completes while a developer is away, a ping is immediately relayed to their mobile phone or preferred chat application.
Automating Notifications for AI Coding Agent Workflows
As AI coding assistants take on larger chunks of engineering tasks, developers frequently find themselves waiting for model approvals or long generations in separate windows. Midway addresses this by integrating with agent lifecycle hooks. By pointing tools like Claude Code, Codex CLI, GitHub Copilot, Gemini CLI, Antigravity CLI, OpenCode, and Cursor to execute midway send-text upon completion or when user intervention is requested, developers can step away safely.
To prevent missed alerts if an agent or hook process abruptly terminates, Midway provides a –background flag that detaches the notification process immediately, though it remains vulnerable to system shutdowns or explicit process kills.
Installation Requirements and Future Development
Developers can install Midway directly from source using Cargo via cargo install midway-cli. Prebuilt binary releases are available for Linux x86_64, Windows x86_64, and Apple Silicon macOS, while other architectures require local compilation through a stable Rust toolchain.
The project's current roadmap outlines several upcoming capabilities, including support for chained shell commands, embedding raw log lines directly into notification messages, and adding integrations for additional messaging platforms such as Microsoft Teams, Google Chat, Mattermost, Rocket.Chat, Zulip, Matrix, and generic webhooks.
Why Asynchronous Tooling Matters for Modern Development
The introduction of Midway highlights an evolving bottleneck in modern software engineering: context-switching fatigue driven by asynchronous workloads. While traditional compilation times have always tempted developers to multitask, the rise of autonomous and semi-autonomous AI coding agents has dramatically accelerated this behavior. Developers now spend substantial blocks of time waiting for agents to process large codebases or pause for authorization, creating an inefficient pattern of micro-interruptions during daily engineering tasks.
By abstracting terminal feedback into mobile-friendly messaging channels, tools like Midway attempt to restore a healthier rhythm to programming, enabling developers to step away from the glowing screen without losing situational awareness. This shift reflects a broader industry movement toward asynchronous developer experiences, where tooling is expected to integrate seamlessly into communication platforms rather than demanding constant visual monitoring. Ultimately, bridging local shell environments with chat applications reduces cognitive strain and empowers developers to reclaim control over their time during long builds and heavy model executions.
Cover: AI-generated illustration with headline text; not a documentary photograph.
Source: Midway: go make coffee while your build runs, and get pinged when it's done · GitHub – hazyio/midway: Run commands and get notified while they run and when they finish. Desktop and chat notifications, plus hooks for AI coding agents like Claude Code, Codex, Gemini CLI and Curso

Leave a Reply