Definition

Shell

A shell is the command interpreter that runs inside a terminal, parses commands, manages jobs, and provides scripting — bash, zsh, fish, and PowerShell are the popular ones.

A shell is the command interpreter that runs inside a terminal. It parses your input, runs external programs, manages jobs and pipelines, expands globs and variables, and exposes a scripting language. The common ones are bash, zsh, fish, dash, and tcsh on Unix; PowerShell and cmd.exe on Windows. Every terminal session you open starts a shell.

Why it matters

The shell is the glue between you and every CLI, including Claude Code, Codex CLI, and the other AI tools in a SpaceSpider grid layout. Shell features — aliases, history, completion, job control, piping — directly shape how productive the terminal feels. Modern shells like zsh with the zsh-autosuggestions plugin or fish with built-in suggestions blur the line with IDE autocomplete.

In SpaceSpider, one of the pane CLI options is plain "shell" — it spawns your login shell ($SHELL on Unix, PowerShell on Windows) in the space's working directory so you have a ready-to-go terminal alongside your AI agents.

How it works

When a terminal starts a shell, it runs in a PTY (or ConPTY on Windows), reads your init files (~/.bashrc, ~/.zshrc, ~/.config/fish/config.fish, your PowerShell profile), and prints a prompt. Your keystrokes go through the kernel's line discipline — the shell receives complete commands (in cooked mode) and then executes them.

Key shell capabilities:

  • Command execution — fork/exec with environment inheritance
  • Pipelines| connects one process's stdout to the next's stdin
  • Job controlCtrl+Z, bg, fg, jobs
  • Expansion — globs, parameters, command substitution
  • Built-inscd, export, alias (these can't be external commands)
  • Scripting — functions, loops, conditionals

PowerShell differs significantly — it pipes typed .NET objects instead of text streams — but the user-facing model is similar.

How it's used

Daily shell patterns:

  • Interactive command execution
  • Shell scripts for automation
  • .bashrc/.zshrc customization for prompts, aliases, functions
  • Running CLIs like git, npm, claude, codex, tmux
  • PTY — what the shell runs inside
  • TTY — the underlying device
  • ANSI escape codes — what gives prompts their color
  • Space — SpaceSpider's concept that includes shell panes
  • CLI wrapper — SpaceSpider's role relative to shells

FAQ

Which shell should I use?

  • bash — everywhere, default on Linux, safe choice
  • zsh — default on macOS, more powerful, big plugin ecosystem (oh-my-zsh)
  • fish — friendliest UX, great defaults, not POSIX-compatible
  • PowerShell — Windows default, object pipelines, cross-platform version available

Most developers settle on zsh or fish for daily work and write scripts in bash (or just #!/usr/bin/env python).

Does SpaceSpider force a specific shell?

No. The "shell" pane launches your login shell ($SHELL). On Windows it prefers PowerShell.

Related terms