Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Cassandra command line shell written in Golang


Having a cassandra command line shell utility in one binary distributable.

Where it comes in hand?

  • Building docker images for cassandra from Alpine with no Python.
  • Running cql shell on all platforms.
  • Automating cassandra schema creation without need to install python dependencies.


go build -o gocqlsh src/


  • Running DDL script files from command line
  • Support for Cassandra 2.1+/ScyllaDB
  • CQL Support
  • Statement tracing
  • desc command with
    • keyspaces - simple list
    • tables - simple list
    • table - simple list of columns and types
  • Auto completition for commands:
    • use - keyspaces
    • desc - tables
    • select - tables
    • update - tables and columns
    • delete - tables
    • insert - tables

Still missing

  • Paging in interactive results
  • DDL Statements when describing Keyspaces and tables
  • Expanded rows
  • Code assistance for different keyspaces
  • Node token awareness

Command line help

gcqlsh -h
Usage of gcqlsh:
  -f string
        Execute file containing cql statements instead of having interacive session
        Stop execution if statement from file fails.
  -host string
        Cassandra host to connect to (default "")
  -k string
        Default keyspace to connect to (default "system")
        Console without colors
  -password string
        Password used for the connection
  -port int
        Cassandra RPC port (default 9042)
        Print 'ok' on successfuly executed cql statement from the file
        Print Statements that are executed from a file
  -username string
        Username used for the connection
  -v    Version information

Planned features

  • desc for table
  • Column code assistance for
    • select
    • update
    • delete
    • insert

Package dependencies

Written with vim-go


Copyright (c) 2016-2019 Nick Penkov. All rights reserved. Use of this source code is governed by a MIT-style license that can be found in the LICENSE file.