Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Clojure
  3. closh

closh

EPL-1.0Clojurev0.5.0

A modern, Bash-like shell that uses Clojure syntax for command composition and data manipulation.

GitHubGitHub
1.6k stars67 forks0 contributors

What is closh?

Closh is a Bash-like shell built on Clojure that allows developers to use Clojure syntax for shell scripting and interactive command execution. It solves the problem of Bash's obscure syntax and text-only pipelines by enabling structured data manipulation and a more consistent programming model.

Target Audience

Developers familiar with Clojure who want a more powerful and expressive shell, as well as Unix shell users frustrated with Bash's limitations for complex tasks.

Value Proposition

Closh offers the familiarity of traditional shell commands combined with Clojure's powerful data-processing capabilities, providing a unified environment where shell scripting and application development share the same language and idioms.

Overview

Bash-like shell based on Clojure

Use Cases

Best For

  • Writing shell scripts in Clojure instead of Bash
  • Manipulating structured data (like JSON) in command pipelines
  • Interactive command-line workflows requiring complex data transformations
  • Clojure developers seeking a more integrated terminal experience
  • Experimenting with modern shell UI innovations
  • Automating tasks with composable, functional pipelines

Not Ideal For

  • Production systems needing a stable, battle-tested shell
  • Windows users without WSL 2 or those requiring native support
  • Teams relying on extensive third-party plugins or community scripts
  • Scripts demanding high-performance, low-latency execution due to JVM/Node overhead

Pros & Cons

Pros

Clojure-Powered Pipelines

Enables seamless mixing of shell commands with Clojure functions for structured data manipulation, directly addressing Bash's text-only limitation as shown in demo pipelines like `ls |> (group-by first)`.

Modern Shell Philosophy

Aims to innovate beyond traditional shells with planned UI enhancements like better readline support and data helpers, reflecting a forward-thinking design per the roadmap.

Familiar Unix Commands

Supports standard commands like `ls` and `git` identically to Bash, lowering the barrier to entry for Unix users while adding Clojure extensibility.

Cross-Platform Foundation

Runs on Linux and macOS, with experimental WSL 2 support, offering a consistent experience across major development environments despite Windows limitations.

Cons

Project Abandonment Risk

Explicitly on hiatus as of 2022, with no active development, making it unreliable for long-term adoption or bug fixes despite its promising concept.

Rough Edges Galore

Admits many limitations: JVM version lacks abbreviations, Lumo version has no script mode and prompt quirks, and synchronous execution relies on hacks, per the Limitations section.

Niche Ecosystem

Small community and sparse documentation compared to established shells, with limited third-party integrations, increasing the learning curve for troubleshooting.

Performance Overhead

Depends on JVM or Node.js, introducing startup lag and memory usage unlike native shells, and the roadmap notes need for a low-level pipeline library to improve performance.

Open Source Alternative To

closh is an open-source alternative to the following products:

bash
bash

A Unix shell and command language that provides a command-line interface for interacting with operating systems, widely used in Linux and macOS.

Frequently Asked Questions

Quick Stats

Stars1,626
Forks67
Contributors0
Open Issues61
Last commit3 years ago
CreatedSince 2017

Tags

#bash-alternative#clojurescript#productivity#unix#terminal#shell#bash#scripting#clojure#cli#command-line

Built With

C
Clojure
C
ClojureScript
N
Node.js
J
Java

Included in

Clojure2.8k
Auto-fetched 1 day ago

Related Projects

trikltrikl

Terminal UI library for Clojure

Stars155
Forks8
Last commit3 years ago
zaffrezaffre

A fast clojure console library

Stars110
Forks5
Last commit2 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub