Current section
Files
Jump to
Current section
Files
lib/claude_wrapper/commands/version.ex
defmodule ClaudeWrapper.Commands.Version do
@moduledoc """
`claude --version` command.
"""
alias ClaudeWrapper.{Config, Error}
@type version_info :: %{
version: String.t(),
raw: String.t()
}
@doc """
Get the CLI version.
"""
@spec execute(Config.t()) :: {:ok, version_info()} | {:error, term()}
def execute(%Config{} = config) do
case Config.exec(config, ["--version"]) do
{output, 0} ->
raw = String.trim(output)
{:ok, %{version: raw, raw: raw}}
{output, code} ->
{:error, Error.command_failed(code, output)}
end
end
end