Tabby is a modern, highly customizable terminal emulator that’s gaining popularity among developers. However, when switching from other terminals, you might encounter issues with environment variables and PATH settings not being properly loaded. This guide explains how to properly configure Tabby to ensure your development tools (like Lando, Node, or other CLI tools) are available in your terminal sessions.
The Problem
When opening a new Tabby terminal tab, you might find that certain commands that work in your regular terminal are suddenly “not found.” This typically happens because Tabby isn’t loading your shell initialization files correctly.
Common symptoms include:
- Commands like lando,
nvm, or custom tools returning “command not found” - Environment variables not being set properly
- Having to manually run
source ~/.bashrcin each new tab
Troubleshooting Steps
1. Check Your Current Shell
First, determine which shell you’re using:
which bash
# Output example: /usr/bin/bash
2. Examine Your PATH
Check what’s in your PATH variable:
echo $PATH
# Output example: /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
If you don’t see the directories containing your development tools, that’s the issue.
3. Verify Your Shell Configuration Files
For Bash users, check if your .profile is correctly sourcing your .bashrc:
cat ~/.profile | grep bashrc
You should see something like:
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
4. Check How Your Tools Are Added to PATH
Look at your
.bashrc file to see how tools like Lando are added to your PATH:
cat ~/.bashrc | grep PATH
For example, Lando might be added with a line like:
export PATH="/home/username/.lando/bin${PATH+:$PATH}";
The Solution: Configuring Tabby Properly
The key issue with Tabby is that it might be using a non-login shell by default, which doesn’t load your complete environment.
Step 1: Check Tabby’s Default Profile Settings
- Open Tabby’s settings (gear icon or Ctrl+,)
- Navigate to the “Profiles” section
- Note the command used for the default profile
Tabby has a “User default” entry, that isn’t editable; mine is set to /bin/bash (which is wrong).
It also has a “User default” entry, that is editable that you should rename so it isn’t confused with “User default”! I renamed mine so instead of “User” i had my initials.
Step 2: Create a Properly Configured Profile
- Set the shell command to
/usr/bin/bash --login(or your preferred shell with login flag), by clicking on the name to bring up the edit panel. (See 1) - Ensure this profile is set as the “Default profile for new tabs” by clicking that field (See 2)

Step 3: Test Your Configuration
- Open a new tab
- Run
echo $PATHto verify your full PATH is loaded - Test commands like lando that were previously not found
Common Issues and Solutions
Non-editable Default Profile
Tabby sometimes has a non-editable “User default” profile. If you encounter this:
- Create a new profile with your desired settings
- Explicitly set this new profile as the “Default profile for new tabs”
- Rename it to something recognizable (e.g., “Bash Login Shell”)
Login Shell Options
For Bash, you have several options to ensure proper initialization:
--loginor-l: Full login shell that reads profile and~/.profile-i: Interactive shell--rcfile ~/.bashrc: Explicitly load your .bashrc
The most reliable option is typically /usr/bin/bash -il (interactive login shell).
Environment Variables in Tabby Config
As a last resort, you can add critical environment variables directly in Tabby’s configuration:
profiles:
- name: My Development Profile
shell: /usr/bin/bash
environment:
PATH: /home/username/.lando/bin:${PATH}
Conclusion
With proper configuration, Tabby can be an excellent terminal for development work. The key is ensuring it loads your shell initialization files correctly, particularly for tools that modify your PATH. Once configured properly, you should have a consistent experience across all your terminal tabs without needing to manually source configuration files.