<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: JessYT</title>
    <description>The latest articles on DEV Community by JessYT (@jessyt).</description>
    <link>https://dev.to/jessyt</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3929396%2F258b3757-050e-4d7f-9578-f524506551bc.png</url>
      <title>DEV Community: JessYT</title>
      <link>https://dev.to/jessyt</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jessyt"/>
    <language>en</language>
    <item>
      <title>Three Postman Features You're Missing If You Only Hit Send</title>
      <dc:creator>JessYT</dc:creator>
      <pubDate>Fri, 19 Jun 2026 21:03:19 +0000</pubDate>
      <link>https://dev.to/jessyt/three-postman-features-youre-missing-if-you-only-hit-send-2g14</link>
      <guid>https://dev.to/jessyt/three-postman-features-youre-missing-if-you-only-hit-send-2g14</guid>
      <description>&lt;h1&gt;
  
  
  Three Postman Features You're Missing If You Only Hit Send
&lt;/h1&gt;

&lt;p&gt;A lot of people use Postman just to build one request and hit Send. But there's a layer above that: environments, the Collection Runner, and pre-request scripts. They handle switching between dev and production, running the same request repeatedly, and transforming values right before a request fires. This post lays out where to turn each feature on, the core usage, and the limits worth knowing up front — all based on the official docs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Three repetitive tasks the tool does so you don't have to
&lt;/h2&gt;

&lt;p&gt;When you're testing an API, the work around the request often eats more time than the request itself. You're looking at the dev server, then you want to check staging, so you edit the URL by hand. You hit Send on ten test cases one at a time. You copy an expired token from another request and paste it into a header.&lt;/p&gt;

&lt;p&gt;Postman solves each of these with a separate feature. None of them require an extra install — they're all built into the default UI.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;What you do by hand&lt;/th&gt;
&lt;th&gt;The feature for it&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Editing URLs · keys every time the server changes&lt;/td&gt;
&lt;td&gt;Environments&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hitting Send on test cases one by one&lt;/td&gt;
&lt;td&gt;Collection Runner&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Copy-pasting tokens · timestamps&lt;/td&gt;
&lt;td&gt;Pre-request scripts&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Environments — switching between dev and production becomes one click
&lt;/h2&gt;

&lt;p&gt;An environment is a bundle of variables. You give the same variable name a different value per environment, then send the same request to a different server just by switching the active environment.&lt;/p&gt;

&lt;h3&gt;
  
  
  Creating and switching environments
&lt;/h3&gt;

&lt;p&gt;Create one from the new (+) icon in the sidebar by selecting Environments, or from the environment selector at the top right of the workspace by clicking the add icon. Name the environment, enter variable names and values, and it saves automatically. For example, you might create a dev environment and a production environment, both holding a variable called &lt;code&gt;base_url&lt;/code&gt; but with different values.&lt;/p&gt;

&lt;p&gt;To switch the active environment, pick it from the environment selector at the top right, or click the checkmark icon next to an environment in the sidebar's Environments list.&lt;/p&gt;

&lt;h3&gt;
  
  
  Variable reference syntax
&lt;/h3&gt;

&lt;p&gt;Reference variables anywhere — the request URL, headers, or body — with double curly braces. Write this in a URL and it's replaced with the value from the active environment.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;GET&lt;/span&gt; &lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="nx"&gt;base_url&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="sr"&gt;/api/&lt;/span&gt;&lt;span class="nx"&gt;v1&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;orders&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="nx"&gt;order_id&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;

&lt;span class="c1"&gt;// Reading and writing from a script&lt;/span&gt;
&lt;span class="nx"&gt;pm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;environment&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;base_url&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nx"&gt;pm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;environment&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;order_id&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;12345&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Variable values stay local by default
&lt;/h3&gt;

&lt;p&gt;A value you enter into a variable is used when you send requests from your own local Postman instance; by default it isn't synced to the Postman cloud or shared with your team. To share values with your team, you set a separate shared value, and that does sync to the cloud. For sensitive values like API keys, you can use the icon next to the variable name to &lt;strong&gt;Mark as sensitive&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Collection Runner — run a bundle of requests repeatedly with a data file
&lt;/h2&gt;

&lt;p&gt;The Collection Runner runs the requests inside a collection or folder in order, all at once. Pick a collection in the sidebar, click Run, and choose Run manually on the Functional tab to bring up the run configuration screen.&lt;/p&gt;

&lt;h3&gt;
  
  
  Run options
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Iterations&lt;/strong&gt; — how many times to repeat the whole collection.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Delay&lt;/strong&gt; — the gap between requests, in milliseconds. Use it when hitting a server with rate limits.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Persist responses for a session&lt;/strong&gt; — records response headers and bodies so you can review them after the run finishes.&lt;/li&gt;
&lt;li&gt;Under Advanced settings, you can enable stop-on-error, keep variable values, exclude cookies, and more.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Requests run in the order they're listed in the collection, and you can drag to reorder them on the run configuration screen. On the results screen, you filter test results with the Passed · Failed · Skipped tabs.&lt;/p&gt;

&lt;h3&gt;
  
  
  100 cases at once with a data file
&lt;/h3&gt;

&lt;p&gt;The runner's real value shows up when you pair it with a data file. Upload a CSV or JSON file and each row in the file becomes one iteration, with each row's values filling in the variables inside the request. Write your boundary values and error cases out as rows, and the same request runs as many times as there are cases.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;order_id,coupon_code,expected_status
1001,WELCOME10,200
1001,EXPIRED99,400
9999,WELCOME10,404
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In a CSV, the first row is the variable names and the rows below it are data. Reference a variable by name in the request body or URL — like &lt;code&gt;{{coupon_code}}&lt;/code&gt; — and each iteration pulls in that row's value.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pre-request scripts — JavaScript runs right before the request fires
&lt;/h2&gt;

&lt;p&gt;A pre-request script is JavaScript that runs before a request is sent. Use it to set variables, parameters, headers, or body data dynamically, or to log to the console. Select a request and write the code in the Pre-request tab under the Scripts tab.&lt;/p&gt;

&lt;h3&gt;
  
  
  There are three places to attach it
&lt;/h3&gt;

&lt;p&gt;Beyond an individual request, you can attach the same way to a folder or a collection. Attached to a collection, it runs before every request in that collection; attached to a folder, it runs before the requests directly under that folder. For logic common to every request, like setting an auth token, it's easier to manage if you put it once at the collection level instead of copying it into each request.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Collection-level pre-request example: refresh a timestamp per request&lt;/span&gt;
&lt;span class="nx"&gt;pm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;environment&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;request_ts&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;toISOString&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;

&lt;span class="c1"&gt;// Then in a request header&lt;/span&gt;
&lt;span class="c1"&gt;// X-Request-Time: {{request_ts}}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Paired with the Collection Runner, you can also build a flow that takes a response value from one request and passes it to the next. A classic pattern: pull a token from a login response, save it to a variable, and have the following requests reference that variable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pitfalls worth knowing in advance
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Manual collection runs have a monthly limit.&lt;/strong&gt; Postman caps the number of monthly collection runs per plan, and this limit applies to manual runs (Run manually). Even with many iterations, it counts as one run.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CSV format rules are strict.&lt;/strong&gt; The first row must be variable names, every row must have the same number of columns, and line endings must be Unix-style. If the runner can't read your file, checking these three is the fastest fix.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Check the contents before setting a shared value.&lt;/strong&gt; Setting a variable value to share with your team syncs it to the cloud. Put a variable holding a token into a shared value and it's exposed to your team as-is — so keep sensitive values as local values only and Mark as sensitive to be safe.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Editing team environments requires the Editor role.&lt;/strong&gt; To edit an environment and change shared values, you need the Editor role on that environment.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Collection scripts apply to every request.&lt;/strong&gt; A collection-level pre-request runs before every request beneath it, so putting logic that only one request needs at the collection level affects all the others too.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  If it's already installed, start with environments
&lt;/h2&gt;

&lt;p&gt;None of the three need a separate install, so the adoption cost is essentially just the learning time. If you're picking an order, environments come first. Pulling just &lt;code&gt;base_url&lt;/code&gt; out into a variable eliminates editing the URL on every server switch, and the other two features all work on top of variables.&lt;/p&gt;

&lt;p&gt;Next is the Collection Runner. For an API with a pile of cases to validate repeatedly, a single CSV gives you a regression test bundle. Bring in pre-request scripts at the point you find yourself doing the same preprocessing by hand every time, like refreshing a token.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Environments and pre-request scripts have no limits even on the free plan, but manual collection runs have a monthly cap per plan. If you plan to run the runner often as a team, check your current plan's limit first.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://learning.postman.com/docs/use/send-requests/variables/managing-environments" rel="noopener noreferrer"&gt;Postman Docs — Group sets of variables using environments&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://learning.postman.com/docs/use/send-requests/variables/environment-variables" rel="noopener noreferrer"&gt;Postman Docs — Edit and set environment variables&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://learning.postman.com/docs/collections/running-collections/intro-to-collection-runs" rel="noopener noreferrer"&gt;Postman Docs — Test your API using the Collection Runner&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://learning.postman.com/docs/tests-and-scripts/write-scripts/pre-request-scripts" rel="noopener noreferrer"&gt;Postman Docs — Write pre-request scripts&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;This post is an objective write-up based on the official docs, not a hands-on report. Menu layouts and per-plan limits can vary by version and plan, so check the official docs alongside it.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Original with full infographics and visual structure: &lt;a href="https://jessinvestment.com/three-postman-features-youre-missing-if-you-only-hit-send/" rel="noopener noreferrer"&gt;https://jessinvestment.com/three-postman-features-youre-missing-if-you-only-hit-send/&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>postman</category>
      <category>apitesting</category>
      <category>devtools</category>
      <category>automation</category>
    </item>
    <item>
      <title>Claude Code Now Lets You Change Settings Inline With /config</title>
      <dc:creator>JessYT</dc:creator>
      <pubDate>Fri, 19 Jun 2026 21:01:05 +0000</pubDate>
      <link>https://dev.to/jessyt/claude-code-now-lets-you-change-settings-inline-with-config-ecl</link>
      <guid>https://dev.to/jessyt/claude-code-now-lets-you-change-settings-inline-with-config-ecl</guid>
      <description>&lt;h1&gt;
  
  
  Claude Code Now Lets You Change Settings Inline With /config
&lt;/h1&gt;

&lt;p&gt;Claude Code v2.1.181 shipped on June 17. The thing that stands out in this release is the &lt;code&gt;/config key=value&lt;/code&gt; syntax. Instead of opening a separate settings menu, you can now type a single line into the prompt to change a setting on the spot.&lt;/p&gt;

&lt;h2&gt;
  
  
  Change It From the Prompt, No Menu Needed
&lt;/h2&gt;

&lt;p&gt;Until now, changing a setting meant typing &lt;code&gt;/config&lt;/code&gt;, dropping into the menu screen, finding the item, and toggling it. Now you just write the key and the value directly.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/config thinking=false
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Per the official changelog, typing this turns thinking off without going through the menu. Any setting can be specified the same way, in &lt;code&gt;key=value&lt;/code&gt; form.&lt;/p&gt;

&lt;h2&gt;
  
  
  Works in Interactive, Pipe, and Remote
&lt;/h2&gt;

&lt;p&gt;This syntax works not just in the regular chat (interactive) view, but also in &lt;code&gt;-p&lt;/code&gt; pipe mode and in Remote Control. That means when you call Claude Code from a shell script or an automation pipeline, you can give each call a different setting.&lt;/p&gt;

&lt;p&gt;It's handy for things like turning thinking off only for a specific task, or flipping another option just for that run. When you had to go through the menu, changing a setting in a non-interactive environment was a pain — and that's the part this fixes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Other Changes in the Same Release
&lt;/h2&gt;

&lt;p&gt;v2.1.181 also bundles a few improvements you'll actually feel day to day. Here's what's listed in the official changelog.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Streaming was improved so long paragraphs print line by line right away instead of waiting for the first newline.&lt;/li&gt;
&lt;li&gt;Pointing the &lt;code&gt;CLAUDE_CLIENT_PRESENCE_FILE&lt;/code&gt; environment variable at a marker file lets you suppress mobile push notifications while you're at your computer.&lt;/li&gt;
&lt;li&gt;If the API connection drops mid-thinking, it now retries automatically instead of showing "Connection closed while thinking."&lt;/li&gt;
&lt;li&gt;The bundled Bun runtime moved up to 1.4, and on macOS you can opt in to sending Apple Events via &lt;code&gt;sandbox.allowAppleEvents&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The rest are smaller bug fixes — prompt caching, writing files to network drives, subagent panel behavior, and so on. How much of a difference you actually feel is something to judge by updating and using it yourself.&lt;/p&gt;

&lt;h2&gt;
  
  
  Just Update the Usual Way
&lt;/h2&gt;

&lt;p&gt;If you're already using Claude Code, grab v2.1.181 through your usual update path and it applies right away. You can check the full list of changes in the official changelog below.&lt;/p&gt;

&lt;p&gt;Source: &lt;a href="https://code.claude.com/docs/en/changelog" rel="noopener noreferrer"&gt;Claude Code Changelog&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This post is a summary of an official announcement. It was not sponsored by Anthropic in any form.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Original with full infographics and visual structure: &lt;a href="https://jessinvestment.com/claude-code-now-lets-you-change-settings-inline-with-config/" rel="noopener noreferrer"&gt;https://jessinvestment.com/claude-code-now-lets-you-change-settings-inline-with-config/&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>claudecode</category>
      <category>slashcommands</category>
      <category>changelog</category>
      <category>aicoding</category>
    </item>
    <item>
      <title>Claude Code Now Falls Back to a Backup Model When Yours Is Overloaded</title>
      <dc:creator>JessYT</dc:creator>
      <pubDate>Thu, 18 Jun 2026 21:01:09 +0000</pubDate>
      <link>https://dev.to/jessyt/claude-code-now-falls-back-to-a-backup-model-when-yours-is-overloaded-1l9g</link>
      <guid>https://dev.to/jessyt/claude-code-now-falls-back-to-a-backup-model-when-yours-is-overloaded-1l9g</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fi59t0npllmgzq02qgapu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fi59t0npllmgzq02qgapu.png" alt="Claude Code now falls back to a backup model when yours is overloaded" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Claude Code Now Falls Back to a Backup Model When Yours Is Overloaded
&lt;/h1&gt;

&lt;p&gt;Claude Code's June 8–12 (Week 24) update added a &lt;code&gt;fallbackModel&lt;/code&gt; setting. When the model you normally use is overloaded or unresponsive, it automatically switches to a backup model you've defined ahead of time. Per the official docs, you can specify up to three fallback models, tried in order.&lt;/p&gt;

&lt;h2&gt;
  
  
  If the first model fails, it moves to the next one in order
&lt;/h2&gt;

&lt;p&gt;Anthropic's official docs state that it "tries them in order when the primary model is overloaded or unavailable." If the first model doesn't work, it moves to the second, and if that fails too, on to the third — one after another.&lt;/p&gt;

&lt;p&gt;Until now, you set a single model, and if it got blocked, the work just stopped there. With this change, you can wire up a detour ahead of time for when something goes down.&lt;/p&gt;

&lt;h2&gt;
  
  
  List your fallback models in order in the config file
&lt;/h2&gt;

&lt;p&gt;In your settings, you add a list of backup models to the &lt;code&gt;fallbackModel&lt;/code&gt; field, in order. The exact format is documented under fallback model chains inside &lt;code&gt;model-config&lt;/code&gt; in the official docs.&lt;/p&gt;

&lt;p&gt;If you just want a one-off, there's a command-line flag too. This week's change means the &lt;code&gt;--fallback-model&lt;/code&gt; flag now applies to interactive sessions as well (previously it was mostly for non-interactive runs).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;claude &lt;span class="nt"&gt;--fallback-model&lt;/span&gt; claude-sonnet-4-6,claude-haiku-4-5
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  The point is keeping work from stalling during peak hours
&lt;/h2&gt;

&lt;p&gt;If you're working from outside the US and overlap with US peak hours, you sometimes hit overloaded responses. With a fallback chain in place, your session can continue on another model instead of stalling. For anyone working across time zones, that's a practically meaningful change.&lt;/p&gt;

&lt;p&gt;That said, a backup model may differ from your primary one in performance or cost, so it's worth deciding ahead of time what you want as your backup. How often the fallback actually fires and how good the results are is something you'll have to judge by using it yourself.&lt;/p&gt;

&lt;p&gt;Sources: &lt;a href="https://code.claude.com/docs/en/whats-new/2026-w24" rel="noopener noreferrer"&gt;Claude Code — Week 24 digest&lt;/a&gt;, &lt;a href="https://code.claude.com/docs/en/model-config" rel="noopener noreferrer"&gt;Claude Code Docs — model-config&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This post is a summary of an official announcement. It is not sponsored by Anthropic in any form.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Original with full infographics and visual structure: &lt;a href="https://jessinvestment.com/claude-code-now-falls-back-to-a-backup-model-when-yours-is-overloaded/" rel="noopener noreferrer"&gt;https://jessinvestment.com/claude-code-now-falls-back-to-a-backup-model-when-yours-is-overloaded/&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>claudecode</category>
      <category>aitooling</category>
      <category>modelfallback</category>
      <category>anthropic</category>
    </item>
    <item>
      <title>Three Raycast Features You Installed but Never Use</title>
      <dc:creator>JessYT</dc:creator>
      <pubDate>Wed, 17 Jun 2026 21:03:47 +0000</pubDate>
      <link>https://dev.to/jessyt/three-raycast-features-you-installed-but-never-use-3nhj</link>
      <guid>https://dev.to/jessyt/three-raycast-features-you-installed-but-never-use-3nhj</guid>
      <description>&lt;h1&gt;
  
  
  Three Raycast Features You Installed but Never Use
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;Developer Tools · Productivity&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Most people run Raycast purely as a Spotlight replacement, but its built-in features quietly replace a clipboard manager, a text expander, and a window-tiling app. They're Clipboard History, Snippets, and Window Management. This post walks through how to turn each on, the core usage, and the limits worth knowing in advance — all based on the official manual.&lt;/p&gt;

&lt;h2&gt;
  
  
  If you only use it as a launcher, you're leaving three apps' worth of value on the table
&lt;/h2&gt;

&lt;p&gt;On macOS, the common setup is to install something separate for each job: Maccy or Paste for clipboard history, TextExpander or aText for text expansion, Magnet or Rectangle for window tiling. Split across three apps, you also juggle three sets of shortcuts — and if any of them are paid, you pay three times over.&lt;/p&gt;

&lt;p&gt;Raycast covers all three areas as built-in features. You're not installing a separate extension — these already ship inside the Raycast you've installed, and you just have to switch them on.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Area&lt;/th&gt;
&lt;th&gt;Common standalone app&lt;/th&gt;
&lt;th&gt;Raycast built-in&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Clipboard history&lt;/td&gt;
&lt;td&gt;Maccy, Paste, CopyClip&lt;/td&gt;
&lt;td&gt;Clipboard History&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Text expansion&lt;/td&gt;
&lt;td&gt;TextExpander, aText, Espanso&lt;/td&gt;
&lt;td&gt;Snippets&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Window tiling&lt;/td&gt;
&lt;td&gt;Magnet, Rectangle&lt;/td&gt;
&lt;td&gt;Window Management&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Turning them on works the same way for all three
&lt;/h2&gt;

&lt;p&gt;Open Raycast Settings (⌘ ,) and search for the feature name in the Extensions tab. For each feature and its sub-commands, you can assign two things.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Hotkey&lt;/strong&gt; — a global shortcut that runs the command directly without going through the Raycast window. For example, bind something like ⌥ V to Clipboard History and your clipboard history pops up in one keystroke from any app.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Alias&lt;/strong&gt; — a short abbreviation that calls the command from the Raycast search bar. For commands you use often, a Hotkey fits; for ones you use occasionally, an Alias does.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Window Management needs one extra bit of prep. Because it moves windows around, it requires macOS Accessibility permission, and the first time you run a command it prompts you to grant that permission in System Settings.&lt;/p&gt;

&lt;h2&gt;
  
  
  Clipboard History — copied items stop disappearing
&lt;/h2&gt;

&lt;p&gt;This feature automatically records what you copy — text, images, files, links, emails, even color values. Run Clipboard History from the search bar and the list appears; pick an item, press Enter, and it pastes at the current cursor position. The point is that you no longer have to go back to the original screen to dig up "that thing I copied earlier."&lt;/p&gt;

&lt;h3&gt;
  
  
  Type filters and pinning
&lt;/h3&gt;

&lt;p&gt;Once the history piles up, you can narrow it with ⌘ P to filter by type — text, image, file, link, and so on. Items you reuse often can be pinned with ⌘ . so they stay at the top of the list, and you can name an item to make it easier to search later. There's also a separate "Paste as Plain Text" option for pasting formatted text as plain text.&lt;/p&gt;

&lt;h3&gt;
  
  
  Retention period and privacy
&lt;/h3&gt;

&lt;p&gt;On the free tier you can choose a retention period of 1 day, 1 week, 1 month, or 3 months; 6-month, 1-year, and unlimited retention are part of the Pro subscription. Privacy is handled in two layers. Content copied from password managers and the macOS Keychain Access app is excluded from history by default, and beyond that you can add apps to the Disabled Applications setting so that anything copied from those apps isn't recorded.&lt;/p&gt;

&lt;h2&gt;
  
  
  Snippets — stop retyping the same text every time
&lt;/h2&gt;

&lt;p&gt;This feature lets you register frequently used chunks of text and pull them up on demand. Reply templates, repeated entries like account numbers or addresses, often-used command fragments — those are the targets, and a single snippet can hold up to 65,000 characters. You create one with the Create Snippet command in the search bar, and besides the body and a name, you can optionally attach a keyword and tags.&lt;/p&gt;

&lt;h3&gt;
  
  
  Keyword auto-expansion
&lt;/h3&gt;

&lt;p&gt;If you assign a keyword to a snippet, the moment you type that keyword in any app it's automatically swapped for the full text — no need to even open the Raycast window. The official manual recommends &lt;strong&gt;keywords with a prefix symbol, like &lt;code&gt;!email&lt;/code&gt;, &lt;code&gt;;;addr&lt;/code&gt;, or &lt;code&gt;/sig&lt;/code&gt;&lt;/strong&gt;, so they don't collide with ordinary words. You can also configure when expansion happens: swap the instant you finish typing the keyword, or swap after you type a delimiter such as a space (with the delimiter kept or removed).&lt;/p&gt;

&lt;h3&gt;
  
  
  Dynamic placeholders
&lt;/h3&gt;

&lt;p&gt;A snippet body can include placeholders that get filled in at paste time. &lt;code&gt;{date}&lt;/code&gt; becomes today's date, &lt;code&gt;{clipboard}&lt;/code&gt; becomes the current clipboard contents, and &lt;code&gt;{cursor}&lt;/code&gt; sets where the cursor lands after expansion finishes. For example, you can build a daily wrap-up template like this.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Name: Daily wrap-up
Keyword: ;;daily

{date} Daily wrap-up
Yesterday:
Today: {cursor}
Reference links: {clipboard}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Type &lt;code&gt;;;daily&lt;/code&gt; and the body above unfolds with the date and the clipboard link filled in, and the cursor sitting right after "Today:".&lt;/p&gt;

&lt;h3&gt;
  
  
  Migrating from another expansion tool
&lt;/h3&gt;

&lt;p&gt;If you already use TextExpander, aText, Espanso, or PhraseExpress, you can import your snippets from those formats or from CSV. It works the other way too — the Export Snippets command lets you export, which also makes it a good way to back up your existing assets before switching.&lt;/p&gt;

&lt;h2&gt;
  
  
  Window Management — arrange windows by shortcut, no tiling app needed
&lt;/h2&gt;

&lt;p&gt;It includes window-placement commands like left/right and top/bottom half (Left/Right/Top/Bottom Half), quarters (Quarter), thirds and fourths, maximize, and center. There are also commands like Restore, which puts a window back to its previous size and position, and Reasonable Size, which sizes it to 60% of the screen. With multiple monitors you can send a window to another screen via Move to Previous/Next Display, and it also offers macOS commands for moving between Spaces.&lt;/p&gt;

&lt;p&gt;There are two ways to use it. Either type the command name in the search bar to run it, or bind a Hotkey to the few commands you use most (say, Left Half, Right Half, Maximize) and tile with keyboard shortcuts alone, just like Magnet. The usual approach is not to memorize every placement command but to pull out just the three or four you use often as shortcuts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Things worth knowing up front
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Window tiling requires Accessibility permission.&lt;/strong&gt; Window Management commands won't work until you grant it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Shortcuts can clash with an existing tiling app.&lt;/strong&gt; If you leave Rectangle or Magnet running too, they may fight over the same key, so it's safer to consolidate on one or assign different shortcuts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Long-term clipboard retention is a Pro feature.&lt;/strong&gt; The free tier retains up to 3 months; anything longer needs a subscription. For just trying out the feature itself, free is plenty.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Some characters can't be used in snippet keywords.&lt;/strong&gt; Backticks, quotes, spaces, and the like aren't allowed; letters, digits, hyphens, underscores, and similar are.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keyword auto-expansion can be toggled.&lt;/strong&gt; If unintended expansions bother you, you can turn off auto-expansion in settings and use snippets only via the search bar.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  If it's already installed, start by switching one on
&lt;/h2&gt;

&lt;p&gt;If you already use Raycast, these are features you can enable in settings with no extra install. Rather than learning all three at once, you're better off starting with the one area that bugs you most right now. If you bounce between copy and paste a lot, binding a single shortcut to Clipboard History gives the fastest payoff; if you type the same things repeatedly, Snippets; if you arrange windows by mouse every time, Window Management, in that order. Conversely, if you're already deeply settled into a dedicated tool like Espanso or Rectangle, the dedicated tool may have broader features, so there's no need to force a move.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Settings path memo:&lt;/strong&gt; Raycast Settings (⌘ ,) → Extensions tab → search the feature name → assign a Hotkey/Alias per command. Window Management needs Accessibility permission granted in System Settings on first run. Add apps to exclude from clipboard history under Disabled Applications in the Clipboard History settings.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://manual.raycast.com/clipboard-history" rel="noopener noreferrer"&gt;Raycast Manual — Clipboard History&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://manual.raycast.com/snippets" rel="noopener noreferrer"&gt;Raycast Manual — Snippets&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://manual.raycast.com/window-management" rel="noopener noreferrer"&gt;Raycast Manual — Window Management&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.raycast.com/pro" rel="noopener noreferrer"&gt;Raycast Pro&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;This post is not a hands-on review but an objective summary based on the official manual. Default shortcuts and plan boundaries can change between versions, so check the official docs for the latest before adopting.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Original with full infographics and visual structure: &lt;a href="https://jessinvestment.com/three-raycast-features-you-installed-but-never-use/" rel="noopener noreferrer"&gt;https://jessinvestment.com/three-raycast-features-you-installed-but-never-use/&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>raycast</category>
      <category>productivity</category>
      <category>macos</category>
      <category>clipboardmanager</category>
    </item>
    <item>
      <title>How Claude Code's Safe Mode Finds What Broke Your Config</title>
      <dc:creator>JessYT</dc:creator>
      <pubDate>Wed, 17 Jun 2026 21:01:11 +0000</pubDate>
      <link>https://dev.to/jessyt/how-claude-codes-safe-mode-finds-what-broke-your-config-5d4c</link>
      <guid>https://dev.to/jessyt/how-claude-codes-safe-mode-finds-what-broke-your-config-5d4c</guid>
      <description>&lt;h1&gt;
  
  
  How Claude Code's Safe Mode Finds What Broke Your Config
&lt;/h1&gt;

&lt;p&gt;Sometimes Claude Code suddenly starts misbehaving. The update in the second week of June (v2.1.169) added &lt;code&gt;--safe-mode&lt;/code&gt;, a flag that boots Claude Code with all of your own settings turned off. Per Anthropic's official docs, it exists to isolate config problems.&lt;/p&gt;

&lt;h2&gt;
  
  
  One flag turns off all your customizations at startup
&lt;/h2&gt;

&lt;p&gt;You run it by adding a single flag to your usual command.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;claude &lt;span class="nt"&gt;--safe-mode&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When you launch it this way, none of the settings you added yourself get loaded in that session. Your normal environment stays untouched; only the session you start with this command runs from a clean state, according to the official docs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Some things get turned off, some stay on
&lt;/h2&gt;

&lt;p&gt;What does &lt;em&gt;not&lt;/em&gt; load in safe mode:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CLAUDE.md&lt;/li&gt;
&lt;li&gt;skills&lt;/li&gt;
&lt;li&gt;plugins&lt;/li&gt;
&lt;li&gt;hooks&lt;/li&gt;
&lt;li&gt;MCP servers&lt;/li&gt;
&lt;li&gt;your own custom commands and agents&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In other words, everything you wired up by hand gets dropped.&lt;/p&gt;

&lt;p&gt;On the other hand, login authentication, model selection, built-in tools, and permissions keep working. So safe mode doesn't leave you unable to do anything; you still get the core features, just without the settings you added, which makes for a clean comparison.&lt;/p&gt;

&lt;p&gt;One caveat. Managed settings deployed by your organization (policy hooks, status line) are still partially applied even in safe mode, according to the official docs. So in a corporate environment, some things may not turn off even in safe mode.&lt;/p&gt;

&lt;h2&gt;
  
  
  If the problem disappears, one of those settings is the cause
&lt;/h2&gt;

&lt;p&gt;The way you use it is simple. If a symptom that shows up in your normal session goes away when you launch with &lt;code&gt;--safe-mode&lt;/code&gt;, that's a sign one of the dropped settings is the cause.&lt;/p&gt;

&lt;p&gt;From there you re-enable plugins or MCP servers one at a time to narrow it down. The more settings you stack up, the harder it gets to find "what broke things" — and this flag gives you a one-line starting point.&lt;/p&gt;

&lt;h2&gt;
  
  
  You can also turn it on with an environment variable
&lt;/h2&gt;

&lt;p&gt;Instead of the flag, setting the &lt;code&gt;CLAUDE_CODE_SAFE_MODE&lt;/code&gt; environment variable has the same effect, according to the official docs. It's handy in places like CI or scripts where adding the flag every time is a hassle.&lt;/p&gt;

&lt;p&gt;The more plugins, MCP servers, and hooks you run, the more often you'll hit config conflicts — and being able to quickly establish a clean baseline in those moments is the practically important part. How much it actually speeds up diagnosis is something you'll have to judge by trying it yourself.&lt;/p&gt;

&lt;p&gt;Sources: &lt;a href="https://code.claude.com/docs/en/whats-new/2026-w24" rel="noopener noreferrer"&gt;Claude Code — What's new (Week 24)&lt;/a&gt;, &lt;a href="https://code.claude.com/docs/en/debug-your-config" rel="noopener noreferrer"&gt;Debug your config&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This post summarizes an official announcement. It was not sponsored by Anthropic in any form.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Original with full infographics and visual structure: &lt;a href="https://jessinvestment.com/how-claude-codes-safe-mode-finds-what-broke-your-config/" rel="noopener noreferrer"&gt;https://jessinvestment.com/how-claude-codes-safe-mode-finds-what-broke-your-config/&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>claudecode</category>
      <category>safemode</category>
      <category>debugging</category>
      <category>config</category>
    </item>
    <item>
      <title>Warp: The Terminal That Treats Output as Blocks</title>
      <dc:creator>JessYT</dc:creator>
      <pubDate>Mon, 15 Jun 2026 21:03:14 +0000</pubDate>
      <link>https://dev.to/jessyt/warp-the-terminal-that-treats-output-as-blocks-2ma3</link>
      <guid>https://dev.to/jessyt/warp-the-terminal-that-treats-output-as-blocks-2ma3</guid>
      <description>&lt;h1&gt;
  
  
  Warp: The Terminal That Treats Output as Blocks
&lt;/h1&gt;

&lt;p&gt;Warp is a terminal that bundles a single command and its output into one chunk (a block). Instead of output flowing endlessly in one continuous stream like iTerm2 or the default terminal, every command gets a boundary. Here's what makes it different, how to install and get started, and how the pricing tiers break down — all based on the official docs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Splitting output into blocks is the core idea
&lt;/h2&gt;

&lt;p&gt;In a normal terminal, the commands you type and their results keep piling up in one flow. After running a long build log, you often have to scroll way up just to find what command you ran right before. Warp splits this flow into &lt;strong&gt;per-command blocks&lt;/strong&gt;. One command and its output become a single block, and you can move between blocks or pick out and copy just one block.&lt;/p&gt;

&lt;p&gt;Warp is a Rust-built client, and it pitches modern UX like block-based navigation, multi-line input editing, syntax highlighting, and autocompletion. The client itself is open-sourced under the AGPL v3 license. In short, what Warp aims to replace is existing terminals like iTerm2, the macOS default terminal, Windows Terminal, and the VS Code built-in terminal — and the official docs even include separate migration guides for moving over from each of them.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Aspect&lt;/th&gt;
&lt;th&gt;Existing terminals (iTerm2, etc.)&lt;/th&gt;
&lt;th&gt;Warp&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Output structure&lt;/td&gt;
&lt;td&gt;A single continuous text stream&lt;/td&gt;
&lt;td&gt;Command + output = a block unit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Input method&lt;/td&gt;
&lt;td&gt;Single-line shell input&lt;/td&gt;
&lt;td&gt;Multi-line editable input editor&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Knowledge sharing&lt;/td&gt;
&lt;td&gt;Manage dotfiles · aliases yourself&lt;/td&gt;
&lt;td&gt;Warp Drive (store workflows · rules)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;License&lt;/td&gt;
&lt;td&gt;Varies by tool&lt;/td&gt;
&lt;td&gt;Client open-sourced under AGPL v3&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Installation is a single download, and it supports all three OSes
&lt;/h2&gt;

&lt;p&gt;Warp supports macOS, Linux, and Windows all together. The official requirements are macOS 10.14 or later, Windows 10 · 11 (x64 · ARM64), and for Linux, .deb · .rpm · .tar.zst · AppImage packages are provided for x64 · ARM64. After installing, the first launch walks you through an account login and offers to import your existing terminal settings.&lt;/p&gt;

&lt;p&gt;If you use Homebrew on macOS, you can install it in one line via the cask.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;brew &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;--cask&lt;/span&gt; warp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;On Linux you just grab the package matching your distro and install it, and on Windows you download the installer and run it. The install itself is straightforward, and on first launch it automatically detects your shell (zsh · bash · fish, etc.) and uses it as-is. In other words, the structure is that the Warp UI sits on top of the shell environment you already use.&lt;/p&gt;

&lt;h2&gt;
  
  
  There are a few basics worth learning first
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Blocks — every command gets a boundary
&lt;/h3&gt;

&lt;p&gt;Blocks are Warp's starting point. Each time you run a command, the input and output are bundled into a single block, so you can copy the result of the command you just ran in one piece, or quickly jump to a command you typed earlier. It's a design meant to cut down on the "where was the command I typed?" hunt inside a long log.&lt;/p&gt;

&lt;h3&gt;
  
  
  Input editor — closer to an editor than a single-line shell
&lt;/h3&gt;

&lt;p&gt;Warp's input field isn't a simple single-line prompt but is closer to an editor with cursor movement · multi-line editing · syntax highlighting. When you type long commands or multi-line scripts, you can handle them like a text editor, and autocompletion comes along too.&lt;/p&gt;

&lt;h3&gt;
  
  
  Warp Drive — share your frequently used commands with the team
&lt;/h3&gt;

&lt;p&gt;Warp Drive is a space for storing things like workflows (collections of frequently used commands) or rules. Individuals use it to gather aliases and snippets, and teams use it to collect shared commands in one place. It's an approach where, instead of everyone carrying their own dotfiles around, you centralize them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lately it positions itself beyond a terminal, as an agent environment
&lt;/h2&gt;

&lt;p&gt;Warp introduces itself not as a simple terminal but as an "Agentic Development Environment." It explains that you can switch between a &lt;strong&gt;terminal mode&lt;/strong&gt; for clean command input and an &lt;strong&gt;agent mode&lt;/strong&gt; for back-and-forth, multi-turn work. It also includes an integrated file tree, an LSP-supported code editor, and code review features.&lt;/p&gt;

&lt;p&gt;What's worth noting here is the part where it provides integration so you can use external CLI agents like Claude Code and Codex together inside Warp. In other words, it doesn't force only Warp's own agent on you — the direction is to run the CLI tools you already use on the same screen. Tabs can attach metadata like git branch · worktree · pull request and display them as vertical tabs, and when an agent asks for command approval or review, it lets you know via notifications. By the official announcement, more than 800,000 developers are said to be using it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pricing starts free
&lt;/h2&gt;

&lt;p&gt;The terminal features themselves can be used on the free tier, and AI · agent usage is divided up by credits. Based on the official pricing page, the breakdown is as follows.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Plan&lt;/th&gt;
&lt;th&gt;Price (monthly)&lt;/th&gt;
&lt;th&gt;Core&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Free&lt;/td&gt;
&lt;td&gt;$0&lt;/td&gt;
&lt;td&gt;Up to 10 seats, full terminal + limited agent, free AI credits&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Build&lt;/td&gt;
&lt;td&gt;From $20&lt;/td&gt;
&lt;td&gt;1,500 credits/month, OpenAI · Anthropic · Google models, unlimited Warp Drive&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Max&lt;/td&gt;
&lt;td&gt;From $200&lt;/td&gt;
&lt;td&gt;12× the credits of Build&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Business&lt;/td&gt;
&lt;td&gt;From $50&lt;/td&gt;
&lt;td&gt;Up to 25 seats, usage metrics, SAML SSO&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Enterprise&lt;/td&gt;
&lt;td&gt;Custom&lt;/td&gt;
&lt;td&gt;Unlimited seats, custom credit pool · admin features&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;In short, if you just want the terminal UI, the free tier is plenty, and the more aggressively you run AI agents, the more your credit consumption grows and the higher the tier you'll need.&lt;/p&gt;

&lt;h2&gt;
  
  
  Things worth knowing before you use it
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;An account login is a prerequisite.&lt;/strong&gt; Warp requires a login on launch, so the entry path is different from a default terminal you can use right away with no account.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI · agents are credit-based.&lt;/strong&gt; The terminal features are free, but if you use agents a lot, the free credits can run out quickly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The client is AGPL v3.&lt;/strong&gt; The client code is open, but service areas like the cloud · agents are separate.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Check compatibility with your existing shell setup first.&lt;/strong&gt; Warp uses your existing shell as-is, but prompt customization and some TUI behavior may differ depending on your environment.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Who it's for
&lt;/h2&gt;

&lt;p&gt;It's a tool worth a look for people who want to handle commands and results separately in an existing terminal where output flows in one stream, people who want to share frequently used commands with their team, and people who want to run coding agents inside the terminal too. On the flip side, if you want a lightweight, dependency-free pure terminal, or you'd rather avoid account login · cloud integration, it may not be your style. There's a free tier, so the best move is to layer it on top of the shell you normally use and gauge whether block-based operation fits your workflow.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Install note&lt;/strong&gt; — On macOS, install with &lt;code&gt;brew install --cask warp&lt;/code&gt; or the download from the official site; on Linux, the .deb · .rpm · .tar.zst · AppImage package matching your distro; on Windows, the installer. On first launch, account login and automatic shell detection run.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.warp.dev/" rel="noopener noreferrer"&gt;Warp official site — warp.dev&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.warp.dev/getting-started/what-is-warp" rel="noopener noreferrer"&gt;Warp Docs — What is Warp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.warp.dev/pricing" rel="noopener noreferrer"&gt;Warp Pricing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/warpdotdev/Warp" rel="noopener noreferrer"&gt;Warp GitHub repo (AGPL v3)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;This post is not a hands-on review but an objective summary based on the official docs · pricing page. Prices · credits · features may change, so check the official pages for the latest information before adopting it.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Original with full infographics and visual structure: &lt;a href="https://jessinvestment.com/warp-the-terminal-that-treats-output-as-blocks/" rel="noopener noreferrer"&gt;https://jessinvestment.com/warp-the-terminal-that-treats-output-as-blocks/&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>warp</category>
      <category>terminal</category>
      <category>devtools</category>
      <category>claudecode</category>
    </item>
    <item>
      <title>Claude Code Automation Usage Now Splits From Your Subscription</title>
      <dc:creator>JessYT</dc:creator>
      <pubDate>Mon, 15 Jun 2026 21:01:09 +0000</pubDate>
      <link>https://dev.to/jessyt/claude-code-automation-usage-now-splits-from-your-subscription-4ll4</link>
      <guid>https://dev.to/jessyt/claude-code-automation-usage-now-splits-from-your-subscription-4ll4</guid>
      <description>&lt;h1&gt;
  
  
  Claude Code Automation Usage Now Splits From Your Subscription
&lt;/h1&gt;

&lt;p&gt;Starting June 15, running Claude programmatically no longer draws from your subscription limits. This covers the Agent SDK, &lt;code&gt;claude -p&lt;/code&gt; headless runs, Claude Code GitHub Actions, and third-party agents. Talking to Claude directly in your terminal stays inside your subscription limits as before.&lt;/p&gt;

&lt;h2&gt;
  
  
  Only programmatic runs split off — interactive use stays put
&lt;/h2&gt;

&lt;p&gt;The official docs state that "starting June 15, Agent SDK and &lt;code&gt;claude -p&lt;/code&gt; usage on subscription plans is deducted from a new, separate Agent SDK credit pool that's distinct from your interactive usage limits." The key point: they've split apart what a human types directly from what code runs on its own.&lt;/p&gt;

&lt;p&gt;Until now, automation jobs and CI pipelines shared your Pro/Max subscription limits. Now they draw from a separate pocket. Claude.ai chat and interactive Claude Code in your terminal are unaffected.&lt;/p&gt;

&lt;h2&gt;
  
  
  Each plan gets its own credits, and they vanish if unused
&lt;/h2&gt;

&lt;p&gt;Per Anthropic's announcement, the separate Agent SDK credits land monthly:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;$20/month&lt;/strong&gt; — Pro&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;$100/month&lt;/strong&gt; — Max 5x&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;$200/month&lt;/strong&gt; — Max 20x&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These credits are deducted at standard API list prices — not at your flat subscription rate.&lt;/p&gt;

&lt;p&gt;Leftover credits don't roll over to the next month; they reset every billing cycle. They're also tied to each account individually, so teammates can't pool or share them.&lt;/p&gt;

&lt;h2&gt;
  
  
  When credits run out, you either stop or fall back to API pricing
&lt;/h2&gt;

&lt;p&gt;Once you've used up your credits, behavior depends on your "extra usage billing" toggle:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Toggle on&lt;/strong&gt; — usage beyond that point keeps billing at standard API rates.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Toggle off&lt;/strong&gt; — automated requests are rejected until your credits reset next cycle.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Effectively, there's no automatic fallback by policy. If your credits run dry while the toggle is off, an unattended job just stops.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Check for the credit-claim email before June 15
&lt;/h2&gt;

&lt;p&gt;Anthropic says it sends a credit-claim email before the change takes effect, so claim it once from that email. Then check how much your automation jobs and CI pipelines actually cost in real API terms — that makes it much easier to decide whether to flip the toggle on or off.&lt;/p&gt;

&lt;p&gt;If you run several Claude Code automations, the practical takeaway is that jobs which used to run essentially for free inside your subscription limits now get converted to real API pricing. The actual cost impact depends on your number of jobs and call volume, so it's something to judge by looking at your own usage.&lt;/p&gt;

&lt;p&gt;Source: &lt;a href="https://support.claude.com/en/articles/15036540-use-the-claude-agent-sdk-with-your-claude-plan" rel="noopener noreferrer"&gt;Anthropic official guide — Use the Claude Agent SDK with your Claude plan&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This post summarizes an official announcement and is not sponsored by Anthropic in any form.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Original with full infographics and visual structure: &lt;a href="https://jessinvestment.com/claude-code-automation-usage-now-splits-from-your-subscription/" rel="noopener noreferrer"&gt;https://jessinvestment.com/claude-code-automation-usage-now-splits-from-your-subscription/&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>claudecode</category>
      <category>agentsdk</category>
      <category>anthropic</category>
      <category>automation</category>
    </item>
    <item>
      <title>The US Government Just Forced Anthropic to Shut Down Fable 5</title>
      <dc:creator>JessYT</dc:creator>
      <pubDate>Sat, 13 Jun 2026 21:02:41 +0000</pubDate>
      <link>https://dev.to/jessyt/the-us-government-just-forced-anthropic-to-shut-down-fable-5-1m25</link>
      <guid>https://dev.to/jessyt/the-us-government-just-forced-anthropic-to-shut-down-fable-5-1m25</guid>
      <description>&lt;h1&gt;
  
  
  The US Government Just Forced Anthropic to Shut Down Fable 5
&lt;/h1&gt;

&lt;p&gt;On June 12, 2026, Anthropic disabled Fable 5 and Mythos 5 for every user. This wasn't the company's own call — it was a move to comply with a US government export-control directive. The trigger was a security vulnerability in the models, but the part that actually stands out is that a government made an already-deployed commercial AI model get switched off.&lt;/p&gt;

&lt;h2&gt;
  
  
  What happened
&lt;/h2&gt;

&lt;p&gt;According to Anthropic's statement, the US government invoked national-security authority and issued an export-control directive to fully block foreign nationals' access to Fable 5 and Mythos 5. The scope didn't distinguish between inside and outside the US, and it even included Anthropic's own foreign-national employees. To meet the compliance requirement, the company effectively had to turn off both models for all customers — and that, they explain, is exactly what they did.&lt;/p&gt;

&lt;p&gt;Other Anthropic models — Opus, Sonnet, Haiku and the rest — are unaffected. Only Fable 5 and Mythos 5 were suspended.&lt;/p&gt;

&lt;p&gt;The starting point was a jailbreak technique. A jailbreak means using a prompt to bypass the safety guardrails placed on a model, pulling out content the model was originally blocked from answering. Anthropic says the directive letter contained no specific security concerns in writing, and that the government's worries were conveyed only verbally.&lt;/p&gt;

&lt;h2&gt;
  
  
  The government sees a vulnerability; Anthropic calls it minor
&lt;/h2&gt;

&lt;p&gt;Anthropic says it reviewed the jailbreak demonstration in question directly. What it found, the company says, were a few already-known minor vulnerabilities — the kind anyone could surface just as easily with other public models, no jailbreak required. The statement notes that OpenAI's GPT-5.5 turns up vulnerabilities at the same level every day, and that this is a capability defenders routinely use to protect their systems.&lt;/p&gt;

&lt;p&gt;The technique the government took issue with is, surprisingly, fairly simple. By Anthropic's account, it amounts to telling the model to read a particular codebase and fix the software flaws it finds there. Vulnerabilities surface in that process — but this is the same kind of work security staff do every single day to keep their systems safe.&lt;/p&gt;

&lt;p&gt;So Anthropic draws a line and calls this a narrow (non-universal) jailbreak. Narrow means it only works in specific situations. By contrast, a universal jailbreak — one that breaks the guardrails broadly and all at once — is something nobody has found yet, the company says.&lt;/p&gt;

&lt;p&gt;All of this, of course, is Anthropic's account. What's been made public is one page of Anthropic's statement, not the government letter, so we still don't know what evidence the government based its decision on.&lt;/p&gt;

&lt;h2&gt;
  
  
  The real surprise isn't the jailbreak — it's that a government flipped the switch
&lt;/h2&gt;

&lt;p&gt;The part of this that will stick around longer isn't the substance of the vulnerability. It's the bare fact that a government used export-control authority to pull the switch on a deployed commercial model. A product used by hundreds of millions was shut off the same day, on a single administrative order.&lt;/p&gt;

&lt;p&gt;Anthropic complied with the directive but publicly came out against it. Recalling an entire model because one narrow jailbreak was found is excessive, the company argues, and applying that standard across the whole industry would effectively halt the deployment of every frontier model.&lt;/p&gt;

&lt;p&gt;Anthropic acknowledges the government's authority to block an unsafe deployment — but its line is that this has to follow a transparent, fair, legal process grounded in technical facts. Making a model get switched off on verbal evidence and same-day notice, it argues, doesn't meet that principle.&lt;/p&gt;

&lt;h2&gt;
  
  
  The part that reaches Korean developers: the foreign-national clause
&lt;/h2&gt;

&lt;p&gt;It's worth flagging that the directive's scope is "foreign nationals." Developers, companies, and even Anthropic's own foreign-national employees who were using Fable 5 or Mythos 5 outside the US had their access cut on a nationality basis.&lt;/p&gt;

&lt;p&gt;This incident actually showed that an entire model can vanish overnight because of variables like an administrative order and nationality. If you stack all your work on one specific model, one vendor, or one jurisdiction, it means the foundation can be pulled out from under you for reasons that have nothing to do with the quality of your code.&lt;/p&gt;

&lt;p&gt;For fintech and other regulated industries, where availability is trust, this is a case showing that keeping a fallback model or a vendor abstraction in place ahead of time isn't just cost optimization — it's closer to operational risk management.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where things stand now
&lt;/h2&gt;

&lt;p&gt;Anthropic views this action as a misunderstanding, says it's working to restore access, and promised to share more information within 24 hours. If your workflow relied on Fable 5 or Mythos 5, moving to another model for the time being is the practical choice.&lt;/p&gt;

&lt;p&gt;Personally, what surprised me most wasn't the vulnerability side — it's that a government reached in and touched the model's switch this directly. The back-and-forth over the jailbreak will get sorted out in time, but the fact that a precedent now exists — that a government can directly shut down a commercial AI model — feels like something we'll be talking about for a lot longer.&lt;/p&gt;




&lt;p&gt;Source: &lt;a href="https://www.anthropic.com/news" rel="noopener noreferrer"&gt;Anthropic — Statement on the US government directive to suspend access to Fable 5 and Mythos 5 (June 12, 2026)&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This post organizes Anthropic's published statement and adds my own read on top of it. The original government letter has not been made public, and the facts may change with further announcements. I received no sponsorship of any kind from any party.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Original with full infographics and visual structure: &lt;a href="https://jessinvestment.com/the-us-government-just-forced-anthropic-to-shut-down-fable-5/" rel="noopener noreferrer"&gt;https://jessinvestment.com/the-us-government-just-forced-anthropic-to-shut-down-fable-5/&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>anthropic</category>
      <category>ainews</category>
      <category>fable5</category>
      <category>airegulation</category>
    </item>
    <item>
      <title>Claude Code Now Shows Exactly Where Your Usage Goes</title>
      <dc:creator>JessYT</dc:creator>
      <pubDate>Sat, 13 Jun 2026 21:01:06 +0000</pubDate>
      <link>https://dev.to/jessyt/claude-code-now-shows-exactly-where-your-usage-goes-32d7</link>
      <guid>https://dev.to/jessyt/claude-code-now-shows-exactly-where-your-usage-goes-32d7</guid>
      <description>&lt;h1&gt;
  
  
  Claude Code Now Shows Exactly Where Your Usage Goes
&lt;/h1&gt;

&lt;p&gt;In its June 12 update (2.1.174), Claude Code added a screen that breaks down exactly where your usage went. It shows consumption from cache misses, subagents, and even per-skill, per-plugin, and per-MCP usage. Right now it only appears in the VS Code extension.&lt;/p&gt;

&lt;h2&gt;
  
  
  01. Broken down from cache misses to per-skill usage
&lt;/h2&gt;

&lt;p&gt;According to the changelog, usage attribution was added to the Account &amp;amp; usage screen (&lt;code&gt;/usage&lt;/code&gt;) in VS Code. Over a 24-hour or 7-day window, it splits out how much was consumed by cache misses, long context, and subagents.&lt;/p&gt;

&lt;p&gt;There's also a breakdown by skill, agent, plugin, and MCP. In other words, you can check item by item which skill or MCP server is eating the most tokens.&lt;/p&gt;

&lt;p&gt;The old &lt;code&gt;/usage&lt;/code&gt; screen was mostly about remaining quota. You couldn't tell why the quota was draining, and that gap has now been filled.&lt;/p&gt;

&lt;h2&gt;
  
  
  02. For now it only appears in the VS Code extension
&lt;/h2&gt;

&lt;p&gt;The changelog marks it as a &lt;code&gt;[VSCode]&lt;/code&gt; item only. There's no mention that the same breakdown landed in the terminal CLI's &lt;code&gt;/usage&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;To see it, open &lt;code&gt;/usage&lt;/code&gt; in the VS Code extension. Your Claude Code version needs to be 2.1.174 or higher.&lt;/p&gt;

&lt;h2&gt;
  
  
  03. Useful right when quota management started to matter
&lt;/h2&gt;

&lt;p&gt;Where your usage leaks is a real, practical problem for subscribers. In setups with lots of subagents or MCP tools, it was hard to gauge where consumption beyond your own typed messages was coming from.&lt;/p&gt;

&lt;p&gt;The timing lines up, too. Per Anthropic's announcement, starting June 23, Fable 5 drops out of the free subscription tier and moves to separate usage credits. So a screen that shows what's burning credits was about to become necessary.&lt;/p&gt;

&lt;p&gt;Exactly how fine-grained the tracking really gets is something you'll want to open it up and judge for yourself.&lt;/p&gt;

&lt;h2&gt;
  
  
  04. Model picker cleanup and admin settings came in too
&lt;/h2&gt;

&lt;p&gt;In the &lt;code&gt;/model&lt;/code&gt; picker, the issue where the model family that Default points to was hidden has been fixed. On Max, Team Premium, and Enterprise plans, Opus shows as a separate row; on Pro and Team plans, Sonnet does.&lt;/p&gt;

&lt;p&gt;The 2.1.175 release that landed the same day added an &lt;code&gt;enforceAvailableModels&lt;/code&gt; admin setting. When a team admin enforces an &lt;code&gt;availableModels&lt;/code&gt; allowlist, the Default model is also restricted to the list, and the list can't be widened via personal or project settings.&lt;/p&gt;

&lt;p&gt;Beyond that, smaller changes came along: a setting to disable mouse-wheel acceleration in fullscreen mode, and a fix for the 1-2 second hang on macOS and Linux when exiting right after interrupting a shell command.&lt;/p&gt;

&lt;p&gt;Sources: &lt;a href="https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md" rel="noopener noreferrer"&gt;Claude Code CHANGELOG (GitHub)&lt;/a&gt;, &lt;a href="https://code.claude.com/docs/en/changelog" rel="noopener noreferrer"&gt;Claude Code Docs — Changelog&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This post summarizes official announcements and was not sponsored in any form by Anthropic.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Original with full infographics and visual structure: &lt;a href="https://jessinvestment.com/claude-code-now-shows-exactly-where-your-usage-goes/" rel="noopener noreferrer"&gt;https://jessinvestment.com/claude-code-now-shows-exactly-where-your-usage-goes/&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>claudecode</category>
      <category>usagetracking</category>
      <category>tokensaving</category>
      <category>vscode</category>
    </item>
    <item>
      <title>VS Code Shortcuts and Settings That Cut Your Mouse Usage</title>
      <dc:creator>JessYT</dc:creator>
      <pubDate>Fri, 12 Jun 2026 21:04:15 +0000</pubDate>
      <link>https://dev.to/jessyt/vs-code-shortcuts-and-settings-that-cut-your-mouse-usage-me1</link>
      <guid>https://dev.to/jessyt/vs-code-shortcuts-and-settings-that-cut-your-mouse-usage-me1</guid>
      <description>&lt;h1&gt;
  
  
  VS Code Shortcuts and Settings That Cut Your Mouse Usage
&lt;/h1&gt;

&lt;p&gt;If you drive VS Code through menu clicks alone, you end up repeating the same edit one line at a time. Learn just three things — multi-cursor, the Command Palette, and settings.json — and your hands leave the keyboard far less often. Every shortcut below is a default straight from the official VS Code docs (macOS shown, Windows·Linux in parentheses).&lt;/p&gt;

&lt;h2&gt;
  
  
  Why shortcuts are worth learning first
&lt;/h2&gt;

&lt;p&gt;VS Code is built so the same task can be done through menus or through shortcuts. The problem with the menu route is that it sends your hand to the mouse and back to the keyboard again. Renaming a variable in ten places, fixing indentation, running a specific command — these repeat dozens of times a day. Moving that repetitive loop onto the keyboard is the whole point of learning shortcuts.&lt;/p&gt;

&lt;p&gt;The three areas below have an especially good payoff-to-effort ratio: there are only a handful of shortcuts to memorize, but they apply almost everywhere.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;What you want to do&lt;/th&gt;
&lt;th&gt;Mouse way&lt;/th&gt;
&lt;th&gt;Shortcut way&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Edit the same word in several places at once&lt;/td&gt;
&lt;td&gt;Double-click each spot and retype, one by one&lt;/td&gt;
&lt;td&gt;Create multiple cursors and type once&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Run a specific command (e.g. format a file)&lt;/td&gt;
&lt;td&gt;Dig through the menu tree&lt;/td&gt;
&lt;td&gt;Type part of its name in the Command Palette&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Auto-format on every save&lt;/td&gt;
&lt;td&gt;Run format manually each time&lt;/td&gt;
&lt;td&gt;Add one line to settings.json&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Multi-cursor — the same edit, all at once
&lt;/h2&gt;

&lt;p&gt;Multi-cursor creates two or more cursors that all receive the same input simultaneously. When you have several similar lines, you can edit them all in one pass instead of fixing them line by line.&lt;/p&gt;

&lt;h3&gt;
  
  
  Adding cursors above and below
&lt;/h3&gt;

&lt;p&gt;Use this when you want to type at the same position on multiple lines. &lt;strong&gt;⌥⌘↓&lt;/strong&gt; (Ctrl+Alt+Down on Windows·Linux) adds a cursor on the line below, and &lt;strong&gt;⌥⌘↑&lt;/strong&gt; (Ctrl+Alt+Up) adds one above. Cursors stack with each press, and everything you type afterwards goes to all of them.&lt;/p&gt;

&lt;h3&gt;
  
  
  Selecting the same word one match at a time
&lt;/h3&gt;

&lt;p&gt;Put the cursor on a word and press &lt;strong&gt;⌘D&lt;/strong&gt; (Ctrl+D) to select it. Press again and the next occurrence of the same word is added to the selection. Because you pick matches one at a time, it's handy when you only want to change some occurrences of a name, not all of them.&lt;/p&gt;

&lt;h3&gt;
  
  
  Selecting every occurrence at once
&lt;/h3&gt;

&lt;p&gt;To grab &lt;strong&gt;every occurrence at once&lt;/strong&gt;, press &lt;strong&gt;⇧⌘L&lt;/strong&gt; (Ctrl+Shift+L). A cursor lands on every instance of the selected string in the file. Since the blast radius is wide, it's worth scanning the file afterwards to make sure you didn't change something you didn't intend to.&lt;/p&gt;

&lt;h3&gt;
  
  
  Column (box) selection
&lt;/h3&gt;

&lt;p&gt;For text aligned vertically like a table, use column selection. With the mouse, hold Shift+Alt and drag; with the keyboard, combine the selection shortcuts (Shift + arrow keys) to grab a vertical block. You can then type into the same column of every line at once.&lt;/p&gt;

&lt;p&gt;For example, with several similar lines like the ones below, putting a cursor on each line lets you prepend a declaration keyword or append a trailing semicolon in one go.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight toml"&gt;&lt;code&gt;&lt;span class="py"&gt;name&lt;/span&gt;  &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"kim"&lt;/span&gt;
&lt;span class="py"&gt;email&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"kim@example.com"&lt;/span&gt;
&lt;span class="py"&gt;role&lt;/span&gt;  &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"admin"&lt;/span&gt;
&lt;span class="err"&gt;//&lt;/span&gt; &lt;span class="err"&gt;Add&lt;/span&gt; &lt;span class="err"&gt;a&lt;/span&gt; &lt;span class="err"&gt;cursor&lt;/span&gt; &lt;span class="err"&gt;at&lt;/span&gt; &lt;span class="err"&gt;the&lt;/span&gt; &lt;span class="err"&gt;start&lt;/span&gt; &lt;span class="err"&gt;of&lt;/span&gt; &lt;span class="err"&gt;each&lt;/span&gt; &lt;span class="err"&gt;line&lt;/span&gt; &lt;span class="err"&gt;and&lt;/span&gt; &lt;span class="err"&gt;type&lt;/span&gt; &lt;span class="err"&gt;'const&lt;/span&gt; &lt;span class="err"&gt;'&lt;/span&gt; &lt;span class="err"&gt;once&lt;/span&gt;
&lt;span class="err"&gt;//&lt;/span&gt; &lt;span class="err"&gt;Add&lt;/span&gt; &lt;span class="err"&gt;a&lt;/span&gt; &lt;span class="err"&gt;cursor&lt;/span&gt; &lt;span class="err"&gt;at&lt;/span&gt; &lt;span class="err"&gt;the&lt;/span&gt; &lt;span class="err"&gt;end&lt;/span&gt; &lt;span class="err"&gt;of&lt;/span&gt; &lt;span class="err"&gt;each&lt;/span&gt; &lt;span class="err"&gt;line&lt;/span&gt; &lt;span class="err"&gt;and&lt;/span&gt; &lt;span class="err"&gt;append&lt;/span&gt; &lt;span class="err"&gt;';'&lt;/span&gt; &lt;span class="err"&gt;once&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Command Palette — run things without digging through menus
&lt;/h2&gt;

&lt;p&gt;Nearly every VS Code feature is registered as a command, and the Command Palette runs any of them by name. Open it with &lt;strong&gt;⇧⌘P&lt;/strong&gt; (Ctrl+Shift+P). No need to memorize the menu structure — typing a fragment like "format", "rename", or "git" narrows the candidates instantly.&lt;/p&gt;

&lt;p&gt;The same input box switches modes depending on its prefix. Knowing this lets one box handle several kinds of navigation.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;⌘P&lt;/strong&gt; (Ctrl+P) — jump to a file by name. The companion box to the Command Palette (⇧⌘P).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;⇧⌘O&lt;/strong&gt; (Ctrl+Shift+O) — jump to a symbol (function·class, etc.) in the current file. This is the &lt;code&gt;@&lt;/code&gt; prefix mode of the same input box.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;⌃G&lt;/strong&gt; (Ctrl+G) — go to a specific line number.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;?&lt;/code&gt; — type a question mark in the box to see a list of every command mode available right there.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The most common pattern: open ⇧⌘P, type part of a command name, hit Enter. For example, instead of hunting through menus for Format Document, typing just "format" in the palette brings it right up.&lt;/p&gt;

&lt;h2&gt;
  
  
  Folding and formatting — shortcuts for long files
&lt;/h2&gt;

&lt;p&gt;When a file gets long, folding some blocks away makes it easier to read. Fold all with &lt;strong&gt;⌘K ⌘0&lt;/strong&gt; (Ctrl+K Ctrl+0), unfold all with &lt;strong&gt;⌘K ⌘J&lt;/strong&gt; (Ctrl+K Ctrl+J), and toggle just the block at the cursor with &lt;strong&gt;⌘K ⌘L&lt;/strong&gt; (Ctrl+K Ctrl+L). These are two-step chords: press ⌘K, then the next key.&lt;/p&gt;

&lt;p&gt;Code formatting is done with Format Document. The shortcut is &lt;strong&gt;⇧⌥F&lt;/strong&gt; (Shift+Alt+F on Windows, Ctrl+Shift+I on Linux), and it reformats the entire current file using the registered formatter's rules. One caveat: a formatter (extension) for that language has to be installed for it to work.&lt;/p&gt;

&lt;h2&gt;
  
  
  settings.json — configure once, save time every day
&lt;/h2&gt;

&lt;p&gt;There are two ways into settings. The searchable UI opens with &lt;strong&gt;⌘,&lt;/strong&gt; (Ctrl+,); to edit the JSON file directly, run "Preferences: Open User Settings (JSON)" from the Command Palette. Anything you toggle in the UI ends up in the same JSON anyway, so keeping your go-to settings in JSON makes them easy to carry to a fresh machine.&lt;/p&gt;

&lt;p&gt;Below are settings shown as examples in the official docs: format on save, auto-save after a delay, visible whitespace characters, and soft-wrapping long lines.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="err"&gt;//&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;settings.json&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;(User)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"editor.formatOnSave"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"files.autoSave"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"afterDelay"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"editor.renderWhitespace"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"all"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"editor.wordWrap"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"on"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;formatOnSave runs the formatter on every save to keep things tidy (again, a formatter must be installed). Setting autoSave to "afterDelay" saves your file automatically after a moment, no ⌘S required. renderWhitespace makes spaces and tabs visible, which helps catch mixed indentation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Good to know upfront
&lt;/h3&gt;

&lt;p&gt;Common gotchas when using these settings and shortcuts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The shortcuts above are &lt;strong&gt;defaults&lt;/strong&gt;. They can stop working if another extension or an OS shortcut conflicts — when that happens, run "Open Keyboard Shortcuts" from the Command Palette to check for collisions.&lt;/li&gt;
&lt;li&gt;Format Document and formatOnSave only work &lt;strong&gt;with a formatter extension installed&lt;/strong&gt;. Default formatters vary by language, so if formatting does nothing, check whether a formatter for that language is installed first.&lt;/li&gt;
&lt;li&gt;Select-all shortcuts like ⇧⌘L cast a wide net and can change the same string in places you didn't intend. After a broad selection, review before applying.&lt;/li&gt;
&lt;li&gt;With autoSave on, saves happen automatically — anything wired to save events (format·lint) may run more often than you expect.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What order to learn them in
&lt;/h2&gt;

&lt;p&gt;Trying to memorize everything at once means nothing sticks. Start with the two highest-frequency ones — ⌘D (select same word) and ⇧⌘P (Command Palette) — for a few days, and once they're in muscle memory, add cursor-above/below and settings.json. Whenever you catch yourself doing something with the mouse, ask "is there a shortcut for this?" and search the Command Palette — the shortcuts for your most-used commands will start sticking on their own.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Getting started:&lt;/strong&gt; Install from the official site, and open the full shortcut list via "Open Keyboard Shortcuts" in the Command Palette — it's searchable. It also shows exactly how each shortcut above is bound on your own keyboard layout.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://code.visualstudio.com/docs/editing/codebasics" rel="noopener noreferrer"&gt;VS Code Docs — Basic editing (multi-cursor·folding·formatting)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://code.visualstudio.com/docs/getstarted/userinterface" rel="noopener noreferrer"&gt;VS Code Docs — User interface (Command Palette)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://code.visualstudio.com/docs/configure/settings" rel="noopener noreferrer"&gt;VS Code Docs — Settings (settings.json)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;This is an objective guide compiled from the official VS Code documentation, not a personal usage review. Shortcuts are macOS defaults and may differ by version, OS, and extension setup.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://jessinvestment.com/vs-code-shortcuts-and-settings-that-cut-your-mouse-usage/" rel="noopener noreferrer"&gt;jessinvestment.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Original with full infographics and visual structure: &lt;a href="https://jessinvestment.com/vs-code-shortcuts-and-settings-that-cut-your-mouse-usage/" rel="noopener noreferrer"&gt;https://jessinvestment.com/vs-code-shortcuts-and-settings-that-cut-your-mouse-usage/&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>vscode</category>
      <category>keyboardshortcuts</category>
      <category>multicursor</category>
      <category>commandpalette</category>
    </item>
    <item>
      <title>Claude Code Subagents Can Now Spawn Their Own Subagents</title>
      <dc:creator>JessYT</dc:creator>
      <pubDate>Fri, 12 Jun 2026 21:01:18 +0000</pubDate>
      <link>https://dev.to/jessyt/claude-code-subagents-can-now-spawn-their-own-subagents-ab7</link>
      <guid>https://dev.to/jessyt/claude-code-subagents-can-now-spawn-their-own-subagents-ab7</guid>
      <description>&lt;h1&gt;
  
  
  Claude Code Subagents Can Now Spawn Their Own Subagents
&lt;/h1&gt;

&lt;p&gt;Starting with Claude Code 2.1.172, subagents can spawn their own subagents underneath them. According to the changelog, nesting goes up to 5 levels deep. The release shipped on June 10, and since it changes agent delegation from a single layer to a multi-level structure, it's worth a closer look.&lt;/p&gt;

&lt;h2&gt;
  
  
  01. Until now, delegation stopped at one level
&lt;/h2&gt;

&lt;p&gt;Previously in Claude Code, the main session could split work off to subagents, but those subagents couldn't spawn agents of their own. If you wanted work broken into smaller pieces, the main session had to carry the entire distribution job itself.&lt;/p&gt;

&lt;p&gt;The release notes for this version state that "subagents can create their own subagents, with nesting up to 5 levels deep." A delegated agent can now use its own judgment to split work further.&lt;/p&gt;

&lt;h2&gt;
  
  
  02. Big tasks can now be split into tree structures
&lt;/h2&gt;

&lt;p&gt;For example, you could imagine a code-review coordinator agent spawning child inspection agents per batch of files. This looks useful for work that doesn't fit in a single context window — large-scale migrations, or auditing an entire codebase.&lt;/p&gt;

&lt;p&gt;That said, beyond the release notes there's no official documentation yet on recommended patterns. Questions like how deep the nesting should actually go are operational judgment calls you'll have to develop by using it.&lt;/p&gt;

&lt;h2&gt;
  
  
  03. Token usage is something to think through up front
&lt;/h2&gt;

&lt;p&gt;Agents calling agents means calls fan out into a tree — and token usage grows right along with it. If you're on a subscription plan, that's a faster path to burning through your usage limits.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;5 levels is just the ceiling — going deep isn't always a win. Each extra level adds another intermediate agent summarizing results upward, and that summarization comes with information loss.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  04. The same release ships a few smaller changes
&lt;/h2&gt;

&lt;p&gt;2.1.172 includes other changes too. &lt;code&gt;/plugin&lt;/code&gt; gets a search bar for browsing marketplace plugins, and a bug where sessions using 1M context without usage credits got permanently stuck is now fixed — they auto-compact down to standard limits instead. If you're on Amazon Bedrock, note that when the &lt;code&gt;AWS_REGION&lt;/code&gt; environment variable isn't set, Claude Code now reads the region from your &lt;code&gt;~/.aws&lt;/code&gt; config files.&lt;/p&gt;

&lt;p&gt;Updates arrive automatically, but you can check your version like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;claude &lt;span class="nt"&gt;--version&lt;/span&gt;
claude update
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Sources: &lt;a href="https://code.claude.com/docs/en/changelog" rel="noopener noreferrer"&gt;Claude Code changelog (v2.1.172)&lt;/a&gt;, &lt;a href="https://github.com/anthropics/claude-code/releases" rel="noopener noreferrer"&gt;anthropics/claude-code Releases&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This post summarizes official release notes. It is not sponsored by Anthropic in any form.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Original with full infographics and visual structure: &lt;a href="https://jessinvestment.com/claude-code-subagents-can-now-spawn-their-own-subagents/" rel="noopener noreferrer"&gt;https://jessinvestment.com/claude-code-subagents-can-now-spawn-their-own-subagents/&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>claudecode</category>
      <category>subagents</category>
      <category>agentorchestration</category>
      <category>anthropic</category>
    </item>
    <item>
      <title>Cursor Bugbot Reviews Now Take 90 Seconds, Plus a New /review Command</title>
      <dc:creator>JessYT</dc:creator>
      <pubDate>Thu, 11 Jun 2026 21:01:18 +0000</pubDate>
      <link>https://dev.to/jessyt/cursor-bugbot-reviews-now-take-90-seconds-plus-a-new-review-command-5fh2</link>
      <guid>https://dev.to/jessyt/cursor-bugbot-reviews-now-take-90-seconds-plus-a-new-review-command-5fh2</guid>
      <description>&lt;h1&gt;
  
  
  Cursor Bugbot Reviews Now Take 90 Seconds, Plus a New /review Command
&lt;/h1&gt;

&lt;p&gt;Cursor announced on June 10 that it cut Bugbot's average review time from 5 minutes to 90 seconds. A new /review command that runs reviews inside the editor before you push shipped alongside it. Cost per run is also down 22%.&lt;/p&gt;

&lt;h2&gt;
  
  
  01. A single review now averages 90 seconds
&lt;/h2&gt;

&lt;p&gt;Per Cursor's announcement, Bugbot's average review time dropped from roughly 5 minutes to roughly 90 seconds. The improvement is attributed to better training in Composer 2.5.&lt;/p&gt;

&lt;p&gt;Bugs found per review also rose 10%, from an average of 0.56 to 0.62. Keep in mind these numbers all come from Cursor's own announcement — how it actually feels is something to judge after trying it yourself.&lt;/p&gt;

&lt;h2&gt;
  
  
  02. You can run /review before you push
&lt;/h2&gt;

&lt;p&gt;The new &lt;code&gt;/review&lt;/code&gt; command runs Bugbot and Security Review together before your code gets pushed. If you only want one of them, &lt;code&gt;/review-bugbot&lt;/code&gt; and &lt;code&gt;/review-security&lt;/code&gt; run each separately.&lt;/p&gt;

&lt;p&gt;It also syncs with Bugbot on GitHub and GitLab. If you run &lt;code&gt;/review&lt;/code&gt; and then open a PR with the same code, Bugbot recognizes it has already been reviewed and skips the duplicate analysis. The familiar flow of opening a PR and then waiting for review results effectively moves to before the push.&lt;/p&gt;

&lt;h2&gt;
  
  
  03. With usage-based pricing, the 22% cut shows up on your bill
&lt;/h2&gt;

&lt;p&gt;Per Cursor's official guidance, Bugbot switched from a $40-per-seat monthly subscription to usage-based pricing for Teams and Individual plans renewing after June 8. A review averages $1.00–1.50, and large PRs cost more.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;On a subscription, this announcement would have ended at "faster reviews." With per-run pricing, the 22% cost reduction and the duplicate-analysis skip land directly on your invoice.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  04. You can scope reviews to changes since the last review
&lt;/h2&gt;

&lt;p&gt;There's also a new review-scope setting. You can configure Bugbot to only look at what changed since the last review, so it stops re-scanning the entire diff every time you address feedback and push again.&lt;/p&gt;

&lt;p&gt;The update is available in Cursor 3.7 and later and at cursor.com/agents, with CLI support coming soon.&lt;/p&gt;

&lt;p&gt;Sources: &lt;a href="https://cursor.com/changelog" rel="noopener noreferrer"&gt;Cursor Changelog — June 10, 2026&lt;/a&gt;, &lt;a href="https://cursor.com/blog/may-2026-bugbot-changes" rel="noopener noreferrer"&gt;Cursor Blog — Updates to Bugbot&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This article summarizes Cursor's official announcements; no sponsorship of any kind was received from Cursor.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Original with full infographics and visual structure: &lt;a href="https://jessinvestment.com/cursor-bugbot-reviews-now-take-90-seconds-plus-a-new-review-command/" rel="noopener noreferrer"&gt;https://jessinvestment.com/cursor-bugbot-reviews-now-take-90-seconds-plus-a-new-review-command/&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>cursor</category>
      <category>bugbot</category>
      <category>codereview</category>
      <category>aicoding</category>
    </item>
  </channel>
</rss>
