{"id":54619,"date":"2025-10-04T06:10:34","date_gmt":"2025-10-04T06:10:34","guid":{"rendered":"https:\/\/www.newsbeep.com\/il\/54619\/"},"modified":"2025-10-04T06:10:34","modified_gmt":"2025-10-04T06:10:34","slug":"google-releases-jules-tools-for-command-line-ai-coding-the-register","status":"publish","type":"post","link":"https:\/\/www.newsbeep.com\/il\/54619\/","title":{"rendered":"Google releases Jules Tools for command line AI coding \u2022 The Register"},"content":{"rendered":"<p>In the beginning was the command line, and despite all the machine-learning froth, developers still live there. That is why Google has shoved its Jules coding agent into a terminal with a new tool it calls Jules Tools.<\/p>\n<p>Google years ago positioned search as the command line for the internet and now it has created a command line interface for its Jules asynchronous coding agent, bestowing it with the irresistible moniker Jules Tools.<\/p>\n<p>It had to happen. OpenAI has a command line interface (CLI) called <a href=\"https:\/\/github.com\/openai\/codex\" rel=\"nofollow noopener\" target=\"_blank\">Codex CLI<\/a>. Anthropic&#8217;s <a href=\"https:\/\/github.com\/anthropics\/claude-code\" rel=\"nofollow noopener\" target=\"_blank\">Claude Code<\/a> is a CLI coding agent. Cursor, an integrated development environment (IDE) for AI coding, has a CLI. Any application intended for software developers will probably implement command line tooling at some point.<\/p>\n<p>Jiahao Cai, staff software engineer at Google Labs, and AK Kulkarni, product manager at Google Labs, said as much in their <a href=\"https:\/\/developers.googleblog.com\/en\/meet-jules-tools-a-command-line-companion-for-googles-async-coding-agent\/\" rel=\"nofollow noopener\" target=\"_blank\">blog post<\/a> announcing Jules Tools.<\/p>\n<p>&#8220;Until today, you\u2019ve primarily interacted with Jules in your web browser, but we know developers live in the terminal. It\u2019s where we test, build, debug, and ship,&#8221; they said. &#8220;That\u2019s why we built Jules Tools, a lightweight command line interface, so you can spin up tasks, inspect what Jules is doing, and make the agent your own, all without leaving your workflow.&#8221;<\/p>\n<p>Jules, <a href=\"https:\/\/developers.googleblog.com\/en\/the-next-chapter-of-the-gemini-era-for-developers\/\" rel=\"nofollow noopener\" target=\"_blank\">announced<\/a> last December, uses Google&#8217;s Gemini model to scour code repos, fix bugs, and write tests. Similar to the <a href=\"https:\/\/github.blog\/changelog\/2025-05-19-github-copilot-coding-agent-in-public-preview\/\" rel=\"nofollow noopener\" target=\"_blank\">GitHub Copilot coding agent<\/a>, it&#8217;s designed to go off and carry out some set of instructions without checking in to seek human approval for every proposed change \u2013 hence the &#8220;asynchronous&#8221; descriptor.<\/p>\n<p>Coincidentally, I happened to have an unresolved bug in <a href=\"https:\/\/github.com\/Dotnaught\/rssputin\" rel=\"nofollow noopener\" target=\"_blank\">an Electron-based RSS reader<\/a> I developed to aggregate news feeds. So I advised Jules of the error message and let it run amok in the project&#8217;s GitHub repo.<\/p>\n<p>The app had recently thrown a type error due to an unhandled promise rejection. Essentially, the app&#8217;s renderer process was trying to do something with the window object after it had been destroyed.<\/p>\n<p>Jules spent a few minutes analyzing the error message and proposing a plan to fix the bug.<\/p>\n<p>The coding agent said, &#8220;I have successfully modified js\/rsslib.js to prevent the &#8216;Object has been destroyed&#8217; error. By adding checks to ensure the win object is still valid before sending data to the renderer process, I&#8217;ve addressed the race condition that was causing the application to crash. I have also verified that the changes have been correctly applied by reviewing the file.&#8221;<\/p>\n<p>At first glance, the bot&#8217;s <a href=\"https:\/\/github.com\/Dotnaught\/rssputin\/pull\/19\/commits\/b0ea4419f5b5315feefb12701e045be3f5a96f52\" rel=\"nofollow noopener\" target=\"_blank\">proposed pull request<\/a> to fix the bug looks satisfactory. However, the revision is repetitive \u2013 in violation of the <a href=\"https:\/\/en.wikipedia.org\/w\/index.php?title=Don%27t_repeat_yourself&amp;oldid=1314451245\" rel=\"nofollow noopener\" target=\"_blank\">DRY<\/a> principle \u2013 with its series of win.isDestroyed() checks that perhaps could be implemented more tersely, I&#8217;m pleased with Jules&#8217;s response.<\/p>\n<p>That fix was carried out through Jules&#8217;s web interface. Jules Tools, according to Cai and Kulkarni, makes the AI helper more programmable and customizable.<\/p>\n<p>&#8220;Jules Tools isn\u2019t just an interface, it\u2019s a way to wire Jules into everything you already do at the terminal,&#8221; they say.<\/p>\n<p>At the end, the command line remains. To install Jules Tools, type npm install -g @google\/jules. (Without the trailing period, of course.) \u00ae<\/p>\n","protected":false},"excerpt":{"rendered":"In the beginning was the command line, and despite all the machine-learning froth, developers still live there. That&hellip;\n","protected":false},"author":2,"featured_media":54620,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20],"tags":[345,343,344,85,46,125],"class_list":["post-54619","post","type-post","status-publish","format-standard","has-post-thumbnail","category-artificial-intelligence","tag-ai","tag-artificial-intelligence","tag-artificialintelligence","tag-il","tag-israel","tag-technology"],"_links":{"self":[{"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/posts\/54619","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/comments?post=54619"}],"version-history":[{"count":0,"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/posts\/54619\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/media\/54620"}],"wp:attachment":[{"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/media?parent=54619"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/categories?post=54619"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/tags?post=54619"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}