How I set up Claude Code in iTerm2 to launch all my AI coding projects in one click


Claude Code in iTerm2 on my laptop

David Gewirtz/ZDNET

Follow ZDNET: Add us as a preferred source on Google.


ZDNET’s key takeaways

  • One-click iTerm2 setup launches Claude projects, creating a coding hub.
  • Profiles auto-load context and memory files on startup.
  • Color-coded tabs eliminate project confusion instantly.

Sure, vibe coding is a powerful tool that can save time compared to hand-cutting code line by line. But anyone who has built anything with vibe coding can tell you this: there’s still a lot of work involved.

For the past few months, I’ve been using Claude Code to build two apps that will eventually be delivered for Mac, iPhone, iPad, and Apple Watch. One has reached the testing stage, while another is still very much in early-stage development.

At first, I did what everyone does when they start using Claude Code. I used a terminal window. But my Claude Code work actually involves working in three contexts, one for each of the two apps I’m building and one that’s one level up and can look at both apps.

Also: I built two apps with just my voice and a mouse – are IDEs already obsolete?

Whatever directory you’re in when you launch Claude Code becomes the project’s home directory. It’s the directory Claude looks in for the CLAUDE.MD file, which tells the AI about your project. Claude treats this current working directory as the root directory for your project.

In my case, /Users/david/Documents/Development/xcode holds both project directories, MyFilamentStash and MySewingPatternStash.

For months, my process was to open Terminal, change directory (using the cd command) to one of the three directories, launch Claude, and provide a set of startup commands to help the session get up to speed with previous work.

Then, if I wanted to switch to a different context, I quit Claude, issued a cd to another project directory, and did the same. I know. It’s cumbersome. I also know I could have had multiple terminal windows open at once, but I found myself getting confused about which project was active at any given time.

Also: Google’s Gemma 4 model goes fully open-source

Even though I was vibe coding and the AI was writing the actual code, it was still time to optimize my work environment.

iTerm2 vs. Mac Terminal

The Mac’s native Terminal application has come a long way since the early days of the Mac. The app supports tabs, profiles, and many configuration options. But iTerm2, a free, GPL-licensed, open-source terminal program, is even more configurable. Plus, iTerm2 has vertical panes in addition to tabs, which can come in handy from time to time.

Over the years, I’ve generally used Mac Terminal for system-level tweaks to my Mac and iTerm2 when using the command line for coding work. That’s not a necessary distinction, but it’s what my practice has been.

Also: I built an iOS app in just two days with just my voice

I’ll be discussing how to set up iTerm2 for an optimal vibe-coding startup, but Mac Terminal’s profile features support a similar set of capabilities. You can get to those capabilities from the Settings menu.

Windows Terminal also supports this kind of profile customization. You can manage these settings by clicking the dropdown arrow next to the tabs and selecting Settings in Windows Terminal.

Color coding the tabs

For my development process, I set up four profiles in iTerm2. You get to profiles by selecting the Settings menu and then tapping the profiles icon. As mentioned above, I have one profile for each project, one for the parent of both projects, and one that works in my Mac home directory in case I need to do anything there.

For clarity, I have color-coded each profile. That approach makes it immediately clear what project I’m working on when in that tab. The two projects have distinct color identities. The filament project is blue and gold with jewel tones. The sewing patterns project is in pinks and purples.

I applied those color identities to the terminal profiles. You can see the color difference below. This process is how I set up the profile for my filament app project. Note the blue and gold hues taken from the app user interface. You can see that even the tab itself matches the color theme:

filament-colors.png

Screenshot by David Gewirtz/ZDNET

By contrast, note the purple and pink taken from the sewing pattern app. You can see the tab is also purple for this project:

sewing-colors.png

Screenshot by David Gewirtz/ZDNET

This kind of color differentiation makes it super easy to tell which project I’m working on at any time. Setting up is easy. Open Settings in iTerm2, click Profiles, and then the Colors tab. Go down the page and choose the colors you want for your profile:

color-settings-1

Screenshot by David Gewirtz/ZDNET

To set the tab color, scroll all the way down and choose a custom tab color:

color-settings-2

Screenshot by David Gewirtz/ZDNET

I chose a green background with yellow text when working in the parent directory of the two projects. And I gave the /Users/David profile a black background with bright green text.

Tweaking text size

You can also customize the font and size for each profile. I have a large screen, so I wanted my text fairly large. I picked the font and size I liked and duplicated it for each profile. You specify text size by choosing Profiles→Text and then going down to the Font selector:

text-size

Screenshot by David Gewirtz/ZDNET

Setting each profile’s starting directory

As I mentioned earlier, Claude treats the current working directory when it launches as the root of the current project. To automatically select the right directory at startup, I set my directory choice in each profile.

This task is also done in Settings→Profiles. This time, stay in the Profiles→General tab. Make sure Profile Type is set to Terminal (at 1), and then go down to Initial Directory→Advanced Configuration (at 2) and hit Edit:

directory-settings-1

Screenshot by David Gewirtz/ZDNET

Next, for the current project whose profile you’re in, paste the full path to that project into all three Working Directory fields. All three Working Directory fields will get the same path. That way, you’ll always be working in the project folder for your current project:

directory-settings-2

Screenshot by David Gewirtz/ZDNET

Auto-configuring Claude sessions

For optimal productivity, I wanted Claude fully set up as soon as I tapped the iTerm2 icon in my Mac’s dock. To take this approach, I set up each profile to run a command line as soon as iTerm2 launched.

Also: How to install and configure Claude Code, step by step

This task is done by setting Command to Login Shell on the General tab of the profile, then pasting a “Send text at start” line that’s a command line to be executed at profile launch:

send-text

Screenshot by David Gewirtz/ZDNET

The command line consists of three parts: choosing the project directory, clearing the screen, and launching Claude with a starting prompt.

Let’s take a look at that initial command:

cd /Users/david/Documents/Development/xcode/MySewingPatternStash && clear && claude "New session starting. Read every memory file in the memory directory one by one using the Read tool, not just the MEMORY.md index. Check git status for any uncommitted work. Then give me a brief status report: where we left off, what's pending, and whether there are uncommitted changes."

You might have noticed that the command begins with another cd. That happens because I found that the change directory command didn’t consistently run before iTerm2 invoked Claude unless I used a belt-and-suspenders approach to choosing the starting directory. So, I set cd as an option, as described in the previous section, and also put it here in the command line itself.

Next, I execute a clear. This step cleans up the terminal screen of some of the startup cruft I don’t want to see. After that, I launch Claude and give it a fairly extensive prompt.

Also: 10 things I wish I knew before trusting Claude Code to build my iPhone app

The prompt tells Claude to read all my startup notes (called memory files in the memory directory). This is part of my tactic using Claude. I have the AI record a lot of notes. This process both gives me a status report and helps Claude get up to speed on what happens next.

One last trick is the use of the && operator. In bash and other shells, the semicolon separates commands in a sequence. But the gotcha is that even if an earlier command fails, the later commands will run. By contrast, the && operator only runs subsequent commands if earlier commands return an exit status that indicates success.

So now, when each profile is instantiated, the command that launches Claude in the proper directory runs, and Claude does a deep dive, bringing itself up to speed on the project’s status.

Here’s an example of the startup status for the sewing pattern project:

status-report

Screenshot by David Gewirtz/ZDNET

Bringing it all together

By this point, we have each project’s UI color-coded to the app that’s being worked on, and Claude is launching with a relevant prompt when the profile is initialized. All that’s left to do is have all four profiles launch automatically when iTerm2 is clicked in the dock.

Also: I used Claude Code to vibe code an Apple Watch app in just 12 hours

To do this step, first set up iTerm2 so it’s the way you want it when launched. In my case, that’s with all four profiles opened. I want the Home profile tab on the left, the parent profile tab on the right, and the two apps themselves in the middle tabs. I also moved the window to where I’d like it to be on the screen when it launches.

This step is configured in the Settings→Arrangements tab of iTerm2. Once your window is placed where you want it, with all the tabs open and arranged as you wish, go to Arrangements and Set Default. This move will lock in the current arrangement and open everything this way whenever you launch iTerm2.

1-click to control them all

That’s it. All it takes now is one click on my dock icon, and iTerm2 goes to town. It sets up all my tabs, sets each one to the proper project directory, and launches three instances of Claude.

Then, each Claude instance digs into its own project, brings itself fully back up to speed on what it needs to know for the current work session, and presents a project status summary.

Also: I used Gmail’s AI tool to do hours of work for me in 10 minutes – with 3 prompts

It takes a few minutes for this whole process to run, but it saves me a ton of clicks. While the various Claudes are coming up to speed and briefing me on the status, I can have a couple of sips of coffee to get ready for a new development session.

Now, you can, too.

How much time do you think a one-click, multi-session Claude setup would save in your daily coding workflow? Let us know in the comments below.


You can follow my day-to-day project updates on social media. Be sure to subscribe to my weekly update newsletter, and follow me on Twitter/X at @DavidGewirtz, on Facebook at Facebook.com/DavidGewirtz, on Instagram at Instagram.com/DavidGewirtz, on Bluesky at @DavidGewirtz.com, and on YouTube at YouTube.com/DavidGewirtzTV.





Source link

Leave a Reply

Subscribe to Our Newsletter

Get our latest articles delivered straight to your inbox. No spam, we promise.

Recent Reviews


As I’m writing this, NVIDIA is the largest company in the world, with a market cap exceeding $4 trillion. Team Green is now the leader among the Magnificent Seven of the tech world, having surpassed them all in just a few short years.

The company has managed to reach these incredible heights with smart planning and by making the right moves for decades, the latest being the decision to sell shovels during the AI gold rush. Considering the current hardware landscape, there’s simply no reason for NVIDIA to rush a new gaming GPU generation for at least a few years. Here’s why.

Scarcity has become the new normal

Not even Nvidia is powerful enough to overcome market constraints

Global memory shortages have been a reality since late 2025, and they aren’t just affecting RAM and storage manufacturers. Rather, this impacts every company making any product that contains memory or storage—including graphics cards.

Since NVIDIA sells GPU and memory bundles to its partners, which they then solder onto PCBs and add cooling to create full-blown graphics cards, this means that NVIDIA doesn’t just have to battle other tech giants to secure a chunk of TSMC’s limited production capacity to produce its GPU chips. It also has to procure massive amounts of GPU memory, which has never been harder or more expensive to obtain.

While a company as large as NVIDIA certainly has long-term contracts that guarantee stable memory prices, those contracts aren’t going to last forever. The company has likely had to sign new ones, considering the GPU price surge that began at the beginning of 2026, with gaming graphics cards still being overpriced.

With GPU memory costing more than ever, NVIDIA has little reason to rush a new gaming GPU generation, because its gaming earnings are just a drop in the bucket compared to its total earnings.

NVIDIA is an AI company now

Gaming GPUs are taking a back seat

A graph showing NVIDIA revenue breakdown in the last few years. Credit: appeconomyinsights.com

NVIDIA’s gaming division had been its golden goose for decades, but come 2022, the company’s data center and AI division’s revenue started to balloon dramatically. By the beginning of fiscal year 2023, data center and AI revenue had surpassed that of the gaming division.

In fiscal year 2026 (which began on July 1, 2025, and ends on June 30, 2026), NVIDIA’s gaming revenue has contributed less than 8% of the company’s total earnings so far. On the other hand, the data center division has made almost 90% of NVIDIA’s total revenue in fiscal year 2026. What I’m trying to say is that NVIDIA is no longer a gaming company—it’s all about AI now.

Considering that we’re in the middle of the biggest memory shortage in history, and that its AI GPUs rake in almost ten times the revenue of gaming GPUs, there’s little reason for NVIDIA to funnel exorbitantly priced memory toward gaming GPUs. It’s much more profitable to put every memory chip they can get their hands on into AI GPU racks and continue receiving mountains of cash by selling them to AI behemoths.

The RTX 50 Super GPUs might never get released

A sign of times to come

NVIDIA’s RTX 50 Super series was supposed to increase memory capacity of its most popular gaming GPUs. The 16GB RTX 5080 was to be superseded by a 24GB RTX 5080 Super; the same fate would await the 16GB RTX 5070 Ti, while the 18GB RTX 5070 Super was to replace its 12GB non-Super sibling. But according to recent reports, NVIDIA has put it on ice.

The RTX 50 Super launch had been slated for this year’s CES in January, but after missing the show, it now looks like NVIDIA has delayed the lineup indefinitely. According to a recent report, NVIDIA doesn’t plan to launch a single new gaming GPU in 2026. Worse still, the RTX 60 series, which had been expected to debut sometime in 2027, has also been delayed.

A report by The Information (via Tom’s Hardware) states that NVIDIA had finalized the design and specs of its RTX 50 Super refresh, but the RAM-pocalypse threw a wrench into the works, forcing the company to “deprioritize RTX 50 Super production.” In other words, it’s exactly what I said a few paragraphs ago: selling enterprise GPU racks to AI companies is far more lucrative than selling comparatively cheaper GPUs to gamers, especially now that memory prices have been skyrocketing.

Before putting the RTX 50 series on ice, NVIDIA had already slashed its gaming GPU supply by about a fifth and started prioritizing models with less VRAM, like the 8GB versions of the RTX 5060 and RTX 5060 Ti, so this news isn’t that surprising.

So when can we expect RTX 60 GPUs?

Late 2028-ish?

A GPU with a pile of money around it. Credit: Lucas Gouveia / How-To Geek

The good news is that the RTX 60 series is definitely in the pipeline, and we will see it sooner or later. The bad news is that its release date is up in the air, and it’s best not to even think about pricing. The word on the street around CES 2026 was that NVIDIA would release the RTX 60 series in mid-2027, give or take a few months. But as of this writing, it’s increasingly likely we won’t see RTX 60 GPUs until 2028.

If you’ve been following the discussion around memory shortages, this won’t be surprising. In late 2025, the prognosis was that we wouldn’t see the end of the RAM-pocalypse until 2027, maybe 2028. But a recent statement by SK Hynix chairman (the company is one of the world’s three largest memory manufacturers) warns that the global memory shortage may last well into 2030.

If that turns out to be true, and if the global AI data center boom doesn’t slow down in the next few years, I wouldn’t be surprised if NVIDIA delays the RTX 60 GPUs as long as possible. There’s a good chance we won’t see them until the second half of 2028, and I wouldn’t be surprised if they miss that window as well if memory supply doesn’t recover by then. Data center GPUs are simply too profitable for NVIDIA to reserve a meaningful portion of memory for gaming graphics cards as long as shortages persist.


At least current-gen gaming GPUs are still a great option for any PC gamer

If there is a silver lining here, it is that current-gen gaming GPUs (NVIDIA RTX 50 and AMD Radeon RX 90) are still more than powerful enough for any current AAA title. Considering that Sony is reportedly delaying the PlayStation 6 and that global PC shipments are projected to see a sharp, double-digit decline in 2026, game developers have little incentive to push requirements beyond what current hardware can handle.

DLSS 5, on the other hand, may be the future of gaming, but no one likes it, and it will take a few years (and likely the arrival of the RTX 60 lineup) for it to mature and become usable on anything that’s not a heckin’ RTX 5090.

If you’re open to buying used GPUs, even last-gen gaming graphics cards offer tons of performance and are able to rein in any AAA game you throw at them. While we likely won’t get a new gaming GPU from NVIDIA for at least a few years, at least the ones we’ve got are great today and will continue to chew through any game for the foreseeable future.



Source link