{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/arxiv-2604-00073","title":"Terminal Agents Suffice for Enterprise Automation","arxiv_id":"2604.00073","date":"2026-03-31","proceeding":null,"authors":["Patrice Bechard","Orlando Marquez Ayala","Emily Chen","Jordan Skelton","Sagar Davasam","Srinivas Sunkara","Vikas Yadav","Sai Rajeswar"],"abstract":"There has been growing interest in building agents that can interact with digital platforms to execute meaningful enterprise tasks autonomously. Among the approaches explored are tool-augmented agents built on abstractions such as Model Context Protocol (MCP) and web agents that operate through graphical interfaces. Yet, it remains unclear whether such complex agentic systems are necessary given their cost and operational overhead. We argue that a coding agent equipped only with a terminal and a filesystem can solve many enterprise tasks more effectively by interacting directly with platform APIs. We evaluate this hypothesis across diverse real-world systems and show that these low-level terminal agents match or outperform more complex agent architectures at a fraction of the cost. Our findings suggest that simple, flexible programmatic interfaces combined with strong foundation models should be the backbone of enterprise automation.","url_abs":"https://arxiv.org/abs/2604.00073","url_pdf":"https://arxiv.org/pdf/2604.00073","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2604.00073","atlas_url":"https://app.syntology.ai/?focus=2604.00073","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2604.00073"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/microsoft/playwright-mcp","reach":{"status":"ok","spdx":"Apache-2.0"}},{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/echelon-ai-labs/servicenow-mcp","reach":null}],"summary":{"ran":1,"unverified":2},"by_repo_kind":{"found_in_text":{"samples":3,"ran":1,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"ea02651ccb32016d","entry":"serialize_tool_output","repo":"echelon-ai-labs/servicenow-mcp","repo_kind":"found_in_text","path":"src/servicenow_mcp/server.py","file_url":"https://github.com/echelon-ai-labs/servicenow-mcp/blob/HEAD/src/servicenow_mcp/server.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ea02651ccb32016d"}},{"code_sha256_prefix":"09fcd708f827304f","entry":"debug_request","repo":"echelon-ai-labs/servicenow-mcp","repo_kind":"found_in_text","path":"debug_workflow_api.py","file_url":"https://github.com/echelon-ai-labs/servicenow-mcp/blob/HEAD/debug_workflow_api.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"09fcd708f827304f"}},{"code_sha256_prefix":"829e7c62516842c7","entry":"test_get_workflow_details","repo":"echelon-ai-labs/servicenow-mcp","repo_kind":"found_in_text","path":"debug_workflow_api.py","file_url":"https://github.com/echelon-ai-labs/servicenow-mcp/blob/HEAD/debug_workflow_api.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"829e7c62516842c7"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.CL","source":"arxiv_2026.jsonl"},"syntology_extracted_results":null}