Persistent Julia REPL client and daemon.
Runs Julia code in a long-lived session over a Unix socket so that state (variables, loaded packages) survives between calls. The project environment is auto-detected from $PWD.
curl -fsSL https://raw.githubusercontent.com/Beforerr/julia-client/main/install.sh | bash
# Override destination with `INSTALL_DIR=/usr/local/bin`.This installs julia-client to ~/.local/bin. The single binary acts as both client and daemon (daemon auto-starts on first eval).
To uninstall: rm "$(which julia-client)".
The included skill at skills/julia-client/SKILL.md teaches Agent how to use julia-client.
npx skills add https://github.com/Beforerr/julia-clientOr manually by adding this repo's skills/ directory to your Agent skill search paths.
# Evaluate code (daemon starts automatically)
julia-client -e 'println("hello")'
# Pkg operations (disable timeout)
julia-client --timeout 0 -e 'using Pkg; Pkg.add("Example")'
# Explicit project environment
julia-client --project /path/to/project -e 'using MyPackage'
# Read from stdin
echo 'println("hello")' | julia-client
# Session management
julia-client sessions # list active sessions
julia-client restart # restart current session
julia-client stop # shut down the daemonA single julia-client binary serves as both client and daemon:
- Client mode (default) — sends JSON requests over a Unix socket (
~/.local/share/julia-client/julia-daemon.sock) - Daemon mode (
julia-client daemon) — background server managing persistent Julia processes; auto-started on firsteval, shuts down after 30 minutes of inactivity
- julia-mcp is very similar but uses MCP server instead
- DaemonicCabal.jl only runs on Linux