PayPal Engineers Demonstrate Agent-Interactive CLI Challenges: Insights from Barista 9000 Workshop
PayPal engineers Mark Lummus and Navinkumar Patil shared a workshop on the AI Engineer channel about how agents interact with command-line interfaces (CLIs). They highlight that agents often fail silently when unable to parse human-readable terminal prompts, and discuss three technical approaches—tmux sessions, IPC side channels, and context injection—to address this, rather than simply adding more command flags.
In AI engineering practice, enabling agents to operate traditional interactive command-line interfaces (CLIs) is a common pain point. Human users see question prompts and arrow-key options, but agents often perceive only screen redraw loops, losing interface state and causing silent task failures. Addressing this challenge, engineers Mark Lummus and Navinkumar Patil from US payment company PayPal published a workshop video on the AI Engineer channel, exploring design principles for agent-CLI interaction.
The workshop used "Barista 9000," a coffee ordering CLI, as a case study, requiring participants to adapt code so agents could successfully place orders. Lummus and Patil noted that the traditional solution of adding more command flags works only when inputs are independent and the path is known in advance. It becomes awkward when later questions depend on earlier answers or live API responses. They emphasized that guidance, choices, and guardrails inherent in interactive workflows should be followed by agents, not bypassed.
The video introduced three main technical strategies: using tmux sessions to send keys and capture terminal state; establishing IPC (inter-process communication) side channels to expose structured JSON data instead of unstable screen scraping; and performing context injection to make options and constraints explicit to the agent. Additionally, Lummus suggested trying less expensive models rather than brute-forcing tasks with maximum reasoning. This discussion offers direct reference value for developers building AI agents that need to operate legacy systems or complex terminal interfaces.