Tooling
Ghostty: the terminal has to come to you
An agent runs for eight minutes and you get up. The window you left it in is three desktops away, behind a browser, and you find it by clicking.
Ray AmjadOn this page
You did not choose your terminal for this. You chose it years ago, when a terminal was a place you went to type a command and watch it finish.
Now it is a place five processes talk to you from while you are looking at something else. That is a different job, and most terminals are still doing the old one.
The prompt should not be a window
The quick terminal is the feature that changes the day. One key, anywhere, and the terminal drops down over whatever you were doing. You answer the agent's question, hit the same key, and it is gone. Nothing was minimised, nothing was hunted for, no window was raised.
That sounds like a convenience. It is not. When reaching the agent costs one key instead of eight seconds of window management, you check on it four times as often, and you catch the wrong turn on minute two instead of minute nine.
Give every session a name you can read
Turn on shell integration and the tab title tells you which repo and which
agent. Leave it off and every tab says zsh, which is another way of saying you
will open three of them to find the right one.
It has to be fast, because you never stop looking at it
An agent produces thousands of lines, and the evidence for what it did is in the scrollback. A terminal that stutters when you scroll teaches you not to scroll. Then you stop checking the work, and then you are approving diffs on vibes.
Transcript
Okay, I want to quickly talk about Ghostty, which is a terminal that I have been using extensively with Claude Code over the last couple of weeks. And I've mostly been using it because the creator of Claude Code said the Claude Code team loves Ghostty. Now I have configured it a little bit more to work better with Claude Code, but I mostly just use the vanilla Ghostty settings. So first of all, you want to go to the link down below to download Ghostty, press the download button, choose macOS or Linux and then press like the universal binary. Download that and then you can open it up and then you can open up and drag and drop it into your Applications folder. But I've already done that, so now you can just open up Ghostty and it should look something kind of like this. It is very fast and feels very snappy on macOS.
I'm going to zoom in a bit with Command plus and you may actually want to set your theme first of all. So you want to go to the docs over here, choose color theme and there will be a command kind of like this. So pressing copy, pasting that in here you can then see a bunch of themes that you can go between. And I personally like the Ayu theme or Ayu theme. So Ayu over here press Enter and it will say to apply the theme you need to add the following line to your Ghostty configuration, which is this line over here. Save the configuration file, then reload it to apply the new theme. So what we can do is make a brand new tab and to do that you want to press Command T and that will open up a new tab. And then you want to make the config file by pasting this command and that will both make the directory for Ghostty and then also make that config file. And if you have VS Code installed, then you can put in this command. But in my case I have Cursor installed instead. So I'm going to do Cursor, press Enter and that will then open up this file within Cursor. So then we can type in theme equals Ayu. But since I already have it set to Ayu, I'm going to choose another theme for the sake of demonstration. So I'm going to do Atom One Dark instead. So Atom One Dark Atom One Dark and then you want to copy and paste these two additional lines from the description down below. So let's press Ctrl S to save that. And now you want to reload Ghostty.
So so let's go back to that previous tab and you can either do that by closing it and reopening it, or pressing Command Shift and then comma. So you can see my theme has changed, the zoom setting has reset, and also a new keyboard shortcut now works, which is Command Shift R. And that will then allow us to rename this tab. So I can call this like example one. And then I can make even more tabs by doing Command T again, again, again. And I can split up any of these tabs in half by doing Command D. And that will then split it up in half down the middle. I can move back and forth by doing Command left square bracket. And that will move my focus to the left. Command right square bracket, moving my focus to the right.
And then I can split it down horizontally by doing Command Shift D. Then you can press Command W to close one of these terminal panes. And then finally we can run Claude Code inside of it. So let me go to my desktop folder and both of them. Then I can run Claude Code on the left hand side and on the right hand side and then do Command left square bracket to basically like move between these two. Now I have multiple tabs of Claude Code running, so I could have up to five or six, because I'm working a lot of projects in parallel and I want to know when one tab needs action. And that's exactly why we set Bell Features equals title. Now, to do this, you want to have a hook. And this hook has to exist on the user level because we want it to happen across all projects. So you can go to your user level folder, go to .Claude, then go to Settings JSON, let's open up that with Cursor.
And it should look something kind of like this, except you won't have this hooks thing. So what you want to do is you want to copy and paste it from the description down below. And you can see we have two hooks. We have one for notification, which is when there is a permission required. This will send us a notification saying Claude Code needs your permission. And then we have a stop hook. And this command looks pretty complicated, but you can basically just say to Claude Code, what does this do? Paste that in here and it will basically explain the command to you. And what it does when working with Ghostty is once Claude Code has finished doing something, it will add a little bell notification icon to a tab. So if I switch back to the other tab. And another thing you can do is you can press Command and then like Command 3 to switch to Tab 3, Command 4, Command 5, and so forth. But I actually forgot to save this file. So after saving it let's really run Claude Code and let me make another tab. If I said hi, then switch over to another tab.
You can see now it gives me a bell icon over here to say this tab requires action and if I switch back to it the bell icon disappears. I can also rename this tab to do be like Agent stack or something for my project name. Or if I do slash rename then Claude Code will rename the tab for me. So you can see it says rename. Or if I wanted Claude Code to rename it automatically, I could just do like, I don't know, resume. Let's resume something. So let's say like tell me a story and then if I do slash rename then it will rename the tab according to conversation. Or I can type in a custom name. So I'm going to do slash rename it then thinks of a name and it says Friday deploy story. If Claude Code asks for permission, so if I give it a video file and say ffmpeg this to mov and if Claude Code asks you for permission like this you should see a notification on your computer. But in my case I don't see the notification because I have notifications off when I'm recording. A pretty handy Ghostty file that you can use if you want further customization is basically this. So you can see for example you can set the typography, the theme, any like background opacity, some security related things and I would not recommend copying all of it over. Just copy the things that you needed the most. Two things that I do like here is if you copy over these commands, then go back to your Ghostty file and paste them in over here and after saving it refresh Ghostty by doing Command Shift comma then you can zoom in on a particular pane by doing Command Shift F. That will then zoom into it and if you have like a bunch of panes and you kind of like move them around to make one bigger and smaller, then you can press Command Shift E to then make it all the same size again. So if I press so if I make another one inside of here, press Command Shift D. It will then make them all the same size. There's a lot that you can do with Ghostty and if you are interested in that kind of stuff then I would recommend watching some videos about it online or finding articles about using it better with Claude Code. But I just wanted to cover the minimum number of things that I find effective for myself.
Get the next one
One email when something new goes up. No drip sequence, and nothing you have to unsubscribe from twice.