Repository Analysis

Alishahryar1/free-claude-code

Use claude-code for free in the terminal, VSCode extension or discord like OpenClaw (voice supported)

31.2 Strong AI signal View on GitHub
31.2
Adjusted Score
31.2
Raw Score
100%
Time Factor
2026-05-30
Last Push
30,954
Stars
Python
Language
56,468
Lines of Code
292
Files
1637
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 1HIGH 15MEDIUM 14LOW 1607

Pattern Findings

1637 matches across 13 categories. Click a row to expand file-level details.

Hyper-Verbose Identifiers1246 hits · 1274 pts
SeverityFileLineSnippet
LOWsmoke/conftest.py12def pytest_collection_modifyitems(items: list[pytest.Item]) -> None:
LOWsmoke/prereq/test_messaging_prereq_live.py14def test_telegram_bot_api_permissions(smoke_config: SmokeConfig) -> None:
LOWsmoke/prereq/test_messaging_prereq_live.py56def test_discord_bot_api_permissions(smoke_config: SmokeConfig) -> None:
LOWsmoke/prereq/test_messaging_prereq_live.py105def test_interactive_inbound_messaging_requires_explicit_mode(
LOWsmoke/prereq/test_voice_prereq_live.py16def test_voice_transcription_backend_when_explicitly_enabled(
LOWsmoke/prereq/test_cli_prereq_live.py18def test_fcc_init_scaffolds_user_config(
LOWsmoke/prereq/test_cli_prereq_live.py37def test_free_claude_code_entrypoint_starts_server(smoke_config: SmokeConfig) -> None:
LOWsmoke/prereq/test_cli_prereq_live.py47def test_claude_cli_prompt_when_available(
LOW…ke/prereq/test_local_provider_endpoints_prereq_live.py12def test_lmstudio_models_endpoint_when_available(smoke_config: SmokeConfig) -> None:
LOW…ke/prereq/test_local_provider_endpoints_prereq_live.py22def test_llamacpp_models_endpoint_when_available(smoke_config: SmokeConfig) -> None:
LOW…ke/prereq/test_local_provider_endpoints_prereq_live.py32def test_ollama_models_endpoint_when_available(smoke_config: SmokeConfig) -> None:
LOW…ke/prereq/test_local_provider_endpoints_prereq_live.py64def _assert_ollama_tags_endpoint(base_url: str, *, timeout_s: float) -> None:
LOWsmoke/prereq/test_client_shapes_prereq_live.py12def test_vscode_and_jetbrains_shaped_requests(
LOWsmoke/prereq/test_tools_prereq_live.py17def test_live_tool_use_when_configured_model_supports_tools(
LOWsmoke/prereq/test_provider_prereq_live.py25def test_model_mapping_configuration_is_consistent(smoke_config: SmokeConfig) -> None:
LOWsmoke/prereq/test_provider_prereq_live.py34def test_mixed_provider_model_mapping_when_configured(
LOWsmoke/prereq/test_provider_prereq_live.py47def test_configured_provider_models_stream_successfully(
LOWsmoke/prereq/test_provider_prereq_live.py86def test_client_disconnect_mid_stream_does_not_crash_server(
LOWsmoke/prereq/test_auth_prereq_live.py14def test_auth_token_is_enforced_for_all_supported_header_shapes(
LOWsmoke/prereq/test_api_prereq_live.py15def test_probe_and_models_routes(
LOWsmoke/prereq/test_api_prereq_live.py36def test_count_tokens_accepts_thinking_tools_and_results(
LOWsmoke/prereq/test_api_prereq_live.py91def test_optimization_fast_paths_do_not_need_provider(
LOWsmoke/prereq/test_api_prereq_live.py163def test_invalid_messages_returns_anthropic_error(
LOWsmoke/prereq/test_api_prereq_live.py181def test_stop_endpoint_reports_no_messaging(
LOWsmoke/product/test_provider_product_live.py151def _run_for_each_thinking_provider(smoke_config: SmokeConfig, scenario) -> None:
LOWsmoke/product/test_provider_product_live.py172def _provider_smoke_thinking_enabled(
LOWsmoke/product/test_provider_product_live.py193def _scenario_adaptive_thinking_history(
LOWsmoke/product/test_provider_product_live.py218def _scenario_interleaved_history(
LOWsmoke/product/test_provider_product_live.py258def _scenario_tool_use_then_text_in_history(
LOWsmoke/product/test_provider_product_live.py304def _scenario_tool_result_continuation(
LOWsmoke/product/test_provider_product_live.py347def _scenario_reasoning_tool_continuation(
LOWsmoke/product/test_local_provider_product_live.py68def _first_non_ollama_model_id(provider: str, base_url: str) -> str:
LOWsmoke/product/test_local_provider_product_live.py87def _first_ollama_tag_model_id(base_url: str) -> str:
LOWsmoke/lib/skips.py23def is_upstream_unavailable_text(text: str) -> bool:
LOWsmoke/lib/skips.py28def skip_upstream_unavailable(reason: str) -> None:
LOWsmoke/lib/skips.py36def skip_if_upstream_unavailable_exception(exc: Exception) -> None:
LOWsmoke/lib/skips.py52def skip_if_upstream_unavailable_events(events: list[SSEEvent]) -> None:
LOWsmoke/lib/config.py208 def openrouter_free_cli_models(self) -> list[ProviderModel]:
LOWsmoke/lib/config.py215 def _include_provider_in_smoke(
LOWsmoke/lib/config.py227 def has_provider_configuration(self, provider: str) -> bool:
LOWsmoke/lib/config.py298def _normalize_provider_model(provider: str, raw_model: str) -> str:
LOWsmoke/lib/config.py317def nvidia_nim_cli_model_refs(
LOWsmoke/lib/config.py347def openrouter_free_cli_model_refs(
LOWsmoke/lib/claude_cli_matrix.py161def _build_claude_cli_command(
LOWsmoke/lib/claude_cli_matrix.py492def _interleaved_thinking_tool(
LOWsmoke/lib/claude_cli_matrix.py746def _has_upstream_unavailable_text(text: str) -> bool:
LOWsmoke/lib/child_process.py43def cmd_free_claude_code_serve() -> list[str]:
LOWsmoke/lib/e2e.py220 def adaptive_thinking_payload() -> dict[str, Any]:
LOWsmoke/lib/e2e.py594def assistant_content_from_events(events: list[SSEEvent]) -> list[dict[str, Any]]:
LOWcore/trace.py63def api_messages_request_snapshot(req: Any) -> dict[str, Any]:
LOWcore/trace.py94def extract_claude_session_id_from_headers(headers: Mapping[str, str]) -> str | None:
LOWcore/trace.py190def provider_chat_body_snapshot(body: Mapping[str, Any]) -> dict[str, Any]:
LOWcore/trace.py197def provider_native_messages_body_snapshot(body: Mapping[str, Any]) -> dict[str, Any]:
LOWcore/anthropic/native_messages_request.py59def validate_openrouter_extra_body(extra: Any) -> None:
LOWcore/anthropic/native_messages_request.py127def dump_raw_messages_request(request_data: Any) -> dict[str, Any]:
LOWcore/anthropic/native_messages_request.py132def sanitize_native_messages_thinking_policy(
LOWcore/anthropic/native_messages_request.py188def _normalize_system_prompt_for_openrouter(system: Any) -> Any:
LOWcore/anthropic/native_messages_request.py202def _apply_openrouter_reasoning_policy(body: dict[str, Any], thinking_cfg: Any) -> None:
LOWcore/anthropic/native_messages_request.py215def build_base_native_anthropic_request_body(
LOWcore/anthropic/native_messages_request.py247def build_openrouter_native_request_body(
1186 more matches not shown…
Unused Imports252 hits · 250 pts
SeverityFileLineSnippet
LOWserver.py8
LOWsmoke/conftest.py1
LOWsmoke/features.py9
LOWsmoke/capabilities.py9
LOWsmoke/prereq/test_messaging_prereq_live.py1
LOWsmoke/prereq/test_voice_prereq_live.py1
LOWsmoke/prereq/test_cli_prereq_live.py1
LOW…ke/prereq/test_local_provider_endpoints_prereq_live.py1
LOWsmoke/prereq/test_client_shapes_prereq_live.py1
LOWsmoke/prereq/test_tools_prereq_live.py1
LOWsmoke/prereq/test_provider_prereq_live.py1
LOWsmoke/prereq/test_auth_prereq_live.py1
LOWsmoke/prereq/test_api_prereq_live.py1
LOWsmoke/product/test_cli_package_product_live.py1
LOWsmoke/product/test_provider_product_live.py1
LOWsmoke/product/test_local_provider_product_live.py1
LOWsmoke/product/test_live_platform_product_live.py1
LOWsmoke/product/test_messaging_product_live.py1
LOWsmoke/product/test_voice_product_live.py1
LOWsmoke/product/test_api_product_live.py1
LOWsmoke/product/test_auth_product_live.py1
LOWsmoke/product/test_client_product_live.py1
LOWsmoke/product/test_openrouter_free_cli_product_live.py1
LOWsmoke/product/test_nvidia_nim_cli_product_live.py1
LOWsmoke/product/test_config_extensibility_product_live.py1
LOWsmoke/lib/report_summary.py3
LOWsmoke/lib/server.py3
LOWsmoke/lib/skips.py3
LOWsmoke/lib/config.py3
LOWsmoke/lib/claude_cli_matrix.py3
LOWsmoke/lib/child_process.py9
LOWsmoke/lib/e2e.py3
LOWsmoke/lib/http.py3
LOWsmoke/lib/report.py3
LOWcore/trace.py8
LOWcore/rate_limit.py3
LOWcore/anthropic/native_messages_request.py6
LOWcore/anthropic/__init__.py3
LOWcore/anthropic/__init__.py3
LOWcore/anthropic/__init__.py3
LOWcore/anthropic/__init__.py4
LOWcore/anthropic/__init__.py4
LOWcore/anthropic/__init__.py4
LOWcore/anthropic/__init__.py4
LOWcore/anthropic/__init__.py10
LOWcore/anthropic/__init__.py10
LOWcore/anthropic/__init__.py10
LOWcore/anthropic/__init__.py15
LOWcore/anthropic/__init__.py16
LOWcore/anthropic/__init__.py17
LOWcore/anthropic/__init__.py17
LOWcore/anthropic/__init__.py17
LOWcore/anthropic/__init__.py17
LOWcore/anthropic/__init__.py18
LOWcore/anthropic/__init__.py18
LOWcore/anthropic/__init__.py18
LOWcore/anthropic/__init__.py19
LOWcore/anthropic/__init__.py20
LOWcore/anthropic/__init__.py21
LOWcore/anthropic/stream_contracts.py6
192 more matches not shown…
Excessive Try-Catch Wrapping70 hits · 71 pts
SeverityFileLineSnippet
LOW…ke/prereq/test_local_provider_endpoints_prereq_live.py44 except Exception as exc:
LOW…ke/prereq/test_local_provider_endpoints_prereq_live.py68 except Exception as exc:
LOWsmoke/prereq/test_provider_prereq_live.py75 except Exception as exc:
LOWsmoke/product/test_provider_product_live.py142 except Exception as exc:
LOWsmoke/product/test_provider_product_live.py163 except Exception as exc:
LOWsmoke/lib/server.py93 except Exception as exc:
LOWcore/anthropic/sse.py14except Exception:
LOWcore/anthropic/sse.py119 except Exception:
LOWproviders/anthropic_messages.py412 except Exception as error:
LOWproviders/registry.py410 except Exception as exc:
LOWproviders/registry.py423 except Exception as exc:
LOWproviders/registry.py457 except Exception as exc:
LOWproviders/registry.py517 except Exception as e:
LOWproviders/openai_compat.py148 except Exception as error:
LOWproviders/openai_compat.py461 except Exception as e:
LOWproviders/rate_limit.py260 except Exception as e:
LOWcli/process_registry.py60 except Exception as e:
LOWcli/process_registry.py67 except Exception as e:
LOWcli/session.py345 except Exception as e:
LOWcli/manager.py138 except Exception as e:
LOWapi/services.py212 except Exception as e:
LOWapi/services.py252 except Exception as e:
LOWapi/admin_routes.py183 except Exception as exc:
LOWapi/admin_routes.py280 except Exception as exc:
LOWapi/runtime.py40 except Exception as e:
LOWapi/runtime.py117 except Exception as exc:
LOWapi/runtime.py146 except Exception as e:
LOWapi/runtime.py214 except Exception as e:
LOWapi/runtime.py315 except Exception as e:
MEDIUMapi/runtime.py177def _start_messaging_if_configured(self) -> None:
LOWapi/app.py61 except Exception as exc:
LOWapi/app.py77 except Exception as exc:
LOWapi/app.py123 except Exception as e:
LOWapi/web_tools/streaming.py144 except Exception as error:
LOWmessaging/handler.py138 except Exception as e:
LOWmessaging/handler.py258 except Exception as e:
LOWmessaging/handler.py511 except Exception as e:
LOWmessaging/handler.py550 except Exception as e:
LOWmessaging/handler.py652 except Exception as e:
LOWmessaging/transcript.py24 except Exception:
LOWmessaging/transcript.py165 except Exception:
LOWmessaging/transcript.py533 except Exception:
LOWmessaging/session.py98 except Exception as e:
LOWmessaging/session.py150 except Exception as e:
LOWmessaging/session.py170 except Exception as e:
LOWmessaging/session.py236 except Exception as e:
LOWmessaging/ui_updates.py65 except Exception as e:
LOWmessaging/ui_updates.py94 except Exception as e:
LOWmessaging/commands.py103 except Exception:
LOWmessaging/commands.py124 except Exception as e:
LOWmessaging/commands.py176 except Exception as e:
LOWmessaging/commands.py246 except Exception as e:
LOWmessaging/commands.py255 except Exception as e:
LOWmessaging/commands.py267 except Exception as e:
LOWmessaging/limiter.py117 except Exception as e:
LOWmessaging/limiter.py134 except Exception:
LOWmessaging/limiter.py157 except Exception as e:
LOWmessaging/limiter.py178 except Exception:
LOWmessaging/limiter.py194 except Exception as e:
LOWmessaging/limiter.py264 except Exception as e:
10 more matches not shown…
Cross-File Repetition11 hits · 55 pts
SeverityFileLineSnippet
HIGHtests/providers/test_mistral.py0reasoning_content deltas are emitted as thinking blocks.
HIGHtests/providers/test_cerebras.py0reasoning_content deltas are emitted as thinking blocks.
HIGHtests/providers/test_groq.py0reasoning_content deltas are emitted as thinking blocks.
HIGHtests/providers/test_codestral.py0reasoning_content deltas are emitted as thinking blocks.
HIGHtests/providers/test_nvidia_nim.py0test that provider passes configurable read/write/connect timeouts to client.
HIGHtests/providers/test_ollama.py0test that provider passes configurable read/write/connect timeouts to client.
HIGHtests/providers/test_lmstudio.py0test that provider passes configurable read/write/connect timeouts to client.
HIGHtests/providers/test_llamacpp.py0test that provider passes configurable read/write/connect timeouts to client.
HIGHtests/providers/test_ollama.py0config with base_url trailing slash is stored without it.
HIGHtests/providers/test_lmstudio.py0config with base_url trailing slash is stored without it.
HIGHtests/providers/test_llamacpp.py0config with base_url trailing slash is stored without it.
Deep Nesting38 hits · 38 pts
SeverityFileLineSnippet
LOWsmoke/lib/e2e.py594
LOWcore/anthropic/tools.py96
LOWcore/anthropic/conversion.py55
LOWcore/anthropic/conversion.py165
LOWcore/anthropic/conversion.py339
LOWcore/anthropic/conversion.py411
LOWcore/anthropic/conversion.py470
LOWcore/anthropic/thinking.py58
LOWcore/anthropic/thinking.py101
LOWcore/anthropic/stream_contracts.py169
LOWproviders/anthropic_messages.py339
LOWproviders/registry.py445
LOWproviders/deepseek/request.py36
LOWproviders/deepseek/request.py306
LOWproviders/deepseek/request.py385
LOWproviders/nvidia_nim/request.py90
LOWproviders/nvidia_nim/request.py150
LOWproviders/nvidia_nim/request.py168
LOWproviders/nvidia_nim/request.py251
LOWtests/contracts/test_import_boundaries.py86
LOWtests/contracts/test_import_boundaries.py199
LOWtests/providers/test_nvidia_nim.py236
LOWtests/scripts/test_installers.py12
LOWcli/session.py99
LOWcli/entrypoints.py50
LOWapi/command_utils.py87
LOWapi/app.py52
LOWapi/validation_log.py8
LOWapi/web_tools/outbound.py210
LOWmessaging/handler.py324
LOWmessaging/session.py50
LOWmessaging/event_parser.py12
LOWmessaging/node_event_pipeline.py59
LOWmessaging/commands.py180
LOWmessaging/limiter.py85
LOWmessaging/limiter.py250
LOWmessaging/limiter.py259
LOWmessaging/trees/queue_manager.py155
Decorative Section Separators8 hits · 27 pts
SeverityFileLineSnippet
MEDIUMapi/routes.py163# =============================================================================
MEDIUMapi/routes.py165# =============================================================================
MEDIUMapi/models/anthropic.py9# =============================================================================
MEDIUMapi/models/anthropic.py11# =============================================================================
MEDIUMapi/models/anthropic.py141# =============================================================================
MEDIUMapi/models/anthropic.py143# =============================================================================
MEDIUMapi/models/anthropic.py179# =============================================================================
MEDIUMapi/models/anthropic.py181# =============================================================================
Docstring Block Structure2 hits · 10 pts
SeverityFileLineSnippet
HIGHproviders/rate_limit.py233Execute an async callable with rate limiting and retry on transient limits. Waits for the proactive limiter bef
HIGHmessaging/transcription.py95 Transcribe audio file to text. Supports: - whisper_device="cpu"/"cuda": local Whisper (requires voice_loca
Cross-Language Confusion2 hits · 10 pts
SeverityFileLineSnippet
HIGHtests/providers/test_streaming_errors.py307 """NIM/GLM may send usage.completion_tokens=null; final SSE must not use JSON null."""
HIGHtests/api/test_admin.py89 assert 'parts.push("locked")' in script
Hallucination Indicators1 hit · 10 pts
SeverityFileLineSnippet
CRITICALtests/cli/test_entrypoints.py226 self.config.app.app.state.admin_restart_callback()
Self-Referential Comments3 hits · 9 pts
SeverityFileLineSnippet
MEDIUMtests/conftest.py132 # Create a task to avoid "coroutine was never awaited" warning
MEDIUMtests/messaging/test_handler.py110 # Create a tree with a root node and register its status message ID mapping.
MEDIUMtests/messaging/test_tree_repository.py99 # Create a child node
Redundant / Tautological Comments2 hits · 4 pts
SeverityFileLineSnippet
LOWtests/providers/test_parsers.py261 # Check if "text1" and "text2" are preserved in filtered output
LOWmessaging/handler.py154 # Check if this is a reply to an existing node in a tree
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippet
MEDIUMtests/providers/test_converter.py372 # comprehensive flow
Dead Code1 hit · 2 pts
SeverityFileLineSnippet
MEDIUMtests/providers/test_provider_transport_logging.py175