---
name: "clojure"
section: "1"
platform: "linux"
package: "clojure"
version: "1.12.5.1664-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/clojure"
---

# clojure(1)

runners to launch Clojure programs

## NAME

clj, clojure - runners to launch Clojure programs

## SYNOPSIS

**clj** \[**clj-opts**\] \[**-Aaliases**\]\
 **clojure** \[**clj-opts**\] **-X**\[**aliases**\] **my/fn?** \[**kpath v** ...\] **kv-map?**\
 **clojure** \[**clj-opts**\] **-T**\[**name\|aliases**\] **my/fn** \[**kpath v** ...\] **kv-map?**\
 **clojure** \[**clj-opts**\] **-M**\[**aliases**\] \[**init-opts**\] \[**main-opts**\] \[**args**\]

## DESCRIPTION

The **clojure** tool is a runner for Clojure programs. **clj** is a wrapper for **clojure** that uses rlwrap to provide a better interactive experience. Users will typically run **clj**.

## EXAMPLES

You can launch a Clojure REPL by running **clj**.

See the Deps and CLI Guide below for more complex usage.

## OPTIONS

The **clj** and **clojure** scripts can take three types of options, as shown in the synopsis. **clj-opts** are used to build the java-opts and classpath. **init-opts** refer to Clojure code to execute. **main-opts** are options to clojure.main.

### clj-opts

- **-J***opt*

  Pass opt through in java\_opts, ex: -J-Xmx512m

- **-A***aliases*

  Concatenated aliases for REPL execution, ex: -A:dev:mem

- **-X***aliases fn* *KPATH* *V*

  Exec alias to invoke one or more functions that take a map, with keypath/value overrides. Function must either be supplied or be in :exec-fn argmap for alias

- **-M***aliases*

  Exec clojure.main, either from opts in alias or command line

- **-P**

  Prepare - download libs, cache classpath without executing

- **-Sdeps** *EDN*

  Deps data or file to use as the last deps file to be merged

- **-Spath**

  Compute classpath and echo to stdout only

- **-Stree**

  Print dependency tree

- **-Scp** *CP*

  Do NOT compute or cache classpath, use this one instead

- **-Srepro**

  Ignore the ~/.clojure/deps.edn config file

- **-Sforce**

  Force recomputation of the classpath (don't use the cache)

- **-Sverbose**

  Print important path info to console

- **-Sthreads** *N*

  Set specific number of download threads

- **-Strace**

  Write a trace.edn file that traces deps expansion

- **--**

  Stop parsing dep options and pass remaining arguments to clojure.main

- **--version**

  Write version to stdout and exit

- **-version**

  Write version to stderr and exit

### init-opts

- **-i**, **--init** *path*

  Load a file or resource located at *path*

- **-e**, **--eval** *string*

  Eval exprs in *string*; print non-nil values

- **--report** *target*

  Report uncaught exception to *target*: "file" (default), "stderr", or "none", overrides System property clojure.main.report

### main-opts

- **-m**, **--main** *ns-name*

  Call the -main function from namespace w/args

- **-r**, **--repl**

  Run a repl

- *path*

  Run a script from a file or resource located at *path*

- **-**

  Run a script from standard input

- **-h**, **-?**, **--help**

  Print this help message and exit

## CONFIGURATION

This script reads configuration from **deps.edn** files. It will check against **deps.edn** files in the system root location, the user configuration directory (usually **~/.clojure**), and the local directory. Files in each of these locations, if they exist, are merged to form one combined configuration file. The last specified configuration file's options overwrites any earlier files (e.g. local configs take priority).

## SEE ALSO

- https://clojure.org/guides/deps\_and\_cli

  Deps and CLI Guide

- https://clojure.org/reference/deps\_edn

  deps.edn Reference

- https://clojure.org/reference/clojure\_cli

  Clojure CLI Reference

- https://clojure.org/reference/repl\_and\_main

  REPL and Main Entrypoints

- https://clojure.org/releases/tools

  Release history and changelog

## BUGS

File issues at https://ask.clojure.org under category Libs / tools.deps.

## AUTHORS

clojure and clj are maintained by Alex Miller \<alex.miller@cognitect.com\>. This man page was written by Elana Hashman \<ehashman@debian.org\>.

## COPYRIGHT

Copyright © Rich Hickey, Alex Miller and contributors.

Distributed under the Eclipse Public License 1.0, the same as Clojure.
