🖥️ Session manager for tmux, built on libtmux.
This report summarizes scanner evidence for tmux-python/tmuxp, a Python project with 4,589 GitHub stars. SynthScan examined 36,563 lines of code across 237 source files, recording 742 pattern matches distributed across 11 syntactic categories. The legacy adjusted pattern signal is 22.5 (Elevated pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 556 finding(s).
Are imports declared and package/API names verified? 123 finding(s).
Are wrappers, guards, and repeated structures necessary? 576 finding(s).
Which changes need focused human review? 742 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 742 distinct pattern matches across 11 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | conftest.py | 88 | def monkeypatch_plugin_test_packages(monkeypatch: pytest.MonkeyPatch) -> None: | CODE |
| LOW | conftest.py | 121 | def pytest_collection_modifyitems(items: list[pytest.Item]) -> None: | CODE |
| LOW⚡ | tests/test_plugin.py | 39 | def test_tmux_version_fail_min() -> None: | CODE |
| LOW⚡ | tests/test_plugin.py | 46 | def test_tmux_version_fail_max() -> None: | CODE |
| LOW⚡ | tests/test_plugin.py | 53 | def test_tmux_version_fail_incompatible() -> None: | CODE |
| LOW⚡ | tests/test_plugin.py | 60 | def test_tmuxp_version_fail_min() -> None: | CODE |
| LOW⚡ | tests/test_plugin.py | 67 | def test_tmuxp_version_fail_max() -> None: | CODE |
| LOW⚡ | tests/test_plugin.py | 74 | def test_tmuxp_version_fail_incompatible() -> None: | CODE |
| LOW⚡ | tests/test_plugin.py | 81 | def test_libtmux_version_fail_min() -> None: | CODE |
| LOW⚡ | tests/test_plugin.py | 88 | def test_libtmux_version_fail_max() -> None: | CODE |
| LOW⚡ | tests/test_plugin.py | 95 | def test_libtmux_version_fail_incompatible() -> None: | CODE |
| LOW⚡ | tests/test_plugin.py | 102 | def test_plugin_version_check_logs_debug( | CODE |
| LOW | tests/test_util.py | 83 | def test_run_before_script_isatty( | CODE |
| LOW⚡ | tests/test_util.py | 123 | def test_beforeload_returncode() -> None: | CODE |
| LOW⚡ | tests/test_util.py | 132 | def test_beforeload_returns_stderr_messages() -> None: | CODE |
| LOW⚡ | tests/test_util.py | 141 | def test_get_session_should_default_to_local_attached_session( | CODE |
| LOW | tests/test_util.py | 157 | def test_get_session_should_return_first_session_if_no_active_session( | CODE |
| LOW | tests/test_util.py | 172 | def test_get_pane_logs_debug_on_failure( | CODE |
| LOW | tests/test_util.py | 203 | def test_oh_my_zsh_auto_title_logs_warning( | CODE |
| LOW | tests/test_log.py | 18 | def test_level_colors_no_colorama() -> None: | CODE |
| LOW | tests/test_log.py | 26 | def test_log_formatter_format_plain_text() -> None: | CODE |
| LOW | tests/test_log.py | 43 | def test_debug_log_formatter_format_smoke() -> None: | CODE |
| LOW | tests/test_log.py | 59 | def test_timestamp_format_has_minutes() -> None: | CODE |
| LOW⚡ | tests/test_log.py | 84 | def test_tmuxp_echo_default_stdout(capsys: pytest.CaptureFixture[str]) -> None: | CODE |
| LOW⚡ | tests/test_log.py | 92 | def test_tmuxp_echo_to_stderr(capsys: pytest.CaptureFixture[str]) -> None: | CODE |
| LOW⚡ | tests/test_log.py | 100 | def test_tmuxp_echo_none_is_no_op(capsys: pytest.CaptureFixture[str]) -> None: | CODE |
| LOW | tests/test_docs_tmux_layout.py | 45 | def test_arrange_fills_screen(case: ArrangeCase) -> None: | CODE |
| LOW | tests/test_docs_tmux_layout.py | 61 | def test_arrange_unknown_layout_raises() -> None: | CODE |
| LOW⚡ | tests/test_docs_tmux_layout.py | 86 | def test_highlight_emits_pygments_classes(case: HighlightCase) -> None: | CODE |
| LOW⚡ | tests/test_docs_tmux_layout.py | 93 | def test_highlight_leaves_command_builtin_default() -> None: | CODE |
| LOW⚡ | tests/test_docs_tmux_layout.py | 99 | def test_highlight_escapes_markup() -> None: | CODE |
| LOW | tests/test_docs_tmux_layout.py | 161 | def test_parse_size_invalid_raises() -> None: | CODE |
| LOW | tests/test_docs_tmux_layout.py | 167 | def test_render_layout_structure() -> None: | CODE |
| LOW | tests/test_docs_tmux_layout.py | 178 | def test_render_layout_clips_compact_pane_text_without_rescaling() -> None: | CODE |
| LOW | tests/test_docs_tmux_layout.py | 200 | def test_setup_registers_components() -> None: | CODE |
| LOW⚡ | tests/_internal/test_private_path.py | 14 | def test_private_path_collapses_home(monkeypatch: pytest.MonkeyPatch) -> None: | CODE |
| LOW⚡ | tests/_internal/test_private_path.py | 22 | def test_private_path_collapses_home_exact(monkeypatch: pytest.MonkeyPatch) -> None: | CODE |
| LOW⚡ | tests/_internal/test_private_path.py | 30 | def test_private_path_preserves_non_home(monkeypatch: pytest.MonkeyPatch) -> None: | CODE |
| LOW⚡ | tests/_internal/test_private_path.py | 38 | def test_private_path_preserves_tmp(monkeypatch: pytest.MonkeyPatch) -> None: | CODE |
| LOW⚡ | tests/_internal/test_private_path.py | 46 | def test_private_path_preserves_already_collapsed() -> None: | CODE |
| LOW | tests/_internal/test_private_path.py | 60 | def test_private_path_in_fstring(monkeypatch: pytest.MonkeyPatch) -> None: | CODE |
| LOW | tests/_internal/test_private_path.py | 69 | def test_private_path_similar_prefix_not_collapsed( | CODE |
| LOW | tests/_internal/test_private_path.py | 83 | def test_collapse_home_in_string_single_path(monkeypatch: pytest.MonkeyPatch) -> None: | CODE |
| LOW | tests/_internal/test_private_path.py | 91 | def test_collapse_home_in_string_multiple_paths( | CODE |
| LOW⚡ | tests/_internal/test_private_path.py | 103 | def test_collapse_home_in_string_no_home_paths( | CODE |
| LOW⚡ | tests/_internal/test_private_path.py | 113 | def test_collapse_home_in_string_mixed_paths(monkeypatch: pytest.MonkeyPatch) -> None: | CODE |
| LOW⚡ | tests/_internal/test_private_path.py | 121 | def test_collapse_home_in_string_empty() -> None: | CODE |
| LOW⚡ | tests/_internal/test_colors.py | 185 | def test_get_color_mode_none_returns_auto() -> None: | CODE |
| LOW⚡ | tests/_internal/test_colors.py | 190 | def test_get_color_mode_auto_string() -> None: | CODE |
| LOW⚡ | tests/_internal/test_colors.py | 195 | def test_get_color_mode_always_string() -> None: | CODE |
| LOW⚡ | tests/_internal/test_colors.py | 200 | def test_get_color_mode_never_string() -> None: | CODE |
| LOW⚡ | tests/_internal/test_colors.py | 205 | def test_get_color_mode_case_insensitive() -> None: | CODE |
| LOW⚡ | tests/_internal/test_colors.py | 212 | def test_get_color_mode_invalid_returns_auto() -> None: | CODE |
| LOW⚡ | tests/_internal/test_colors.py | 222 | def test_semantic_color_names() -> None: | CODE |
| LOW⚡ | tests/_internal/test_colors.py | 278 | def test_style_with_empty_tuple() -> None: | CODE |
| LOW⚡ | tests/_internal/test_colors.py | 286 | def test_style_with_rgb_value_too_high() -> None: | CODE |
| LOW⚡ | tests/_internal/test_colors.py | 292 | def test_style_with_rgb_value_negative() -> None: | CODE |
| LOW⚡ | tests/_internal/test_colors.py | 298 | def test_style_with_rgb_non_integer() -> None: | CODE |
| LOW⚡ | tests/_internal/test_colors.py | 307 | def test_heading_applies_bright_cyan_bold(monkeypatch: pytest.MonkeyPatch) -> None: | CODE |
| LOW | tests/_internal/test_colors.py | 41 | def test_auto_no_tty_disabled(monkeypatch: pytest.MonkeyPatch) -> None: | CODE |
| 451 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | conftest.py | 11 | CODE | |
| LOW | tests/test_plugin.py | 3 | CODE | |
| LOW | tests/constants.py | 3 | CODE | |
| LOW | tests/test_util.py | 3 | CODE | |
| LOW | tests/test_log.py | 3 | CODE | |
| LOW | tests/test_docs_tmux_layout.py | 3 | CODE | |
| LOW | tests/test_shell.py | 3 | CODE | |
| LOW | tests/_internal/conftest.py | 3 | CODE | |
| LOW | tests/_internal/test_private_path.py | 3 | CODE | |
| LOW | tests/_internal/test_colors.py | 3 | CODE | |
| LOW | tests/_internal/test_colors_formatters.py | 3 | CODE | |
| LOW | tests/_internal/test_colors_integration.py | 3 | CODE | |
| LOW | tests/workspace/test_freezer.py | 3 | CODE | |
| LOW | tests/workspace/conftest.py | 3 | CODE | |
| LOW | tests/workspace/test_options.py | 3 | CODE | |
| LOW | tests/workspace/test_finders_local.py | 3 | CODE | |
| LOW | tests/workspace/test_import_teamocil.py | 3 | CODE | |
| LOW | tests/workspace/test_builder_registry.py | 3 | CODE | |
| LOW | tests/workspace/test_progress.py | 3 | CODE | |
| LOW | tests/workspace/test_finder.py | 3 | CODE | |
| LOW | tests/workspace/test_builder.py | 3 | CODE | |
| LOW | tests/workspace/test_config.py | 3 | CODE | |
| LOW | tests/workspace/test_import_tmuxinator.py | 3 | CODE | |
| LOW | tests/tests/test_helpers.py | 3 | CODE | |
| LOW | tests/cli/conftest.py | 3 | CODE | |
| LOW | tests/cli/test_freeze_colors.py | 3 | CODE | |
| LOW | tests/cli/test_search.py | 3 | CODE | |
| LOW | tests/cli/test_freeze.py | 3 | CODE | |
| LOW | tests/cli/test_ls.py | 3 | CODE | |
| LOW | tests/cli/test_convert.py | 3 | CODE | |
| LOW | tests/cli/test_output.py | 3 | CODE | |
| LOW | tests/cli/test_debug_info_colors.py | 3 | CODE | |
| LOW | tests/cli/test_progress.py | 3 | CODE | |
| LOW | tests/cli/test_shell_colors.py | 3 | CODE | |
| LOW | tests/cli/test_prompt_colors.py | 3 | CODE | |
| LOW | tests/cli/test_import.py | 3 | CODE | |
| LOW | tests/cli/test_convert_colors.py | 3 | CODE | |
| LOW | tests/cli/test_formatter.py | 3 | CODE | |
| LOW | tests/cli/test_debug_info.py | 3 | CODE | |
| LOW | tests/cli/test_edit_colors.py | 3 | CODE | |
| LOW | tests/cli/test_help_examples.py | 3 | CODE | |
| LOW | tests/cli/test_shell.py | 3 | CODE | |
| LOW | tests/cli/test_cli.py | 3 | CODE | |
| LOW | tests/cli/test_load.py | 3 | CODE | |
| LOW | tests/cli/test_import_colors.py | 3 | CODE | |
| LOW | docs/conf.py | 3 | CODE | |
| LOW | docs/_ext/conftest.py | 7 | CODE | |
| LOW | docs/_ext/aafig.py | 15 | CODE | |
| LOW | docs/_ext/tmux_layout.py | 34 | CODE | |
| LOW | src/tmuxp/log.py | 3 | CODE | |
| LOW | src/tmuxp/util.py | 3 | CODE | |
| LOW | src/tmuxp/shell.py | 4 | CODE | |
| LOW | src/tmuxp/__init__.py | 7 | CODE | |
| LOW | src/tmuxp/__init__.py | 11 | CODE | |
| LOW | src/tmuxp/__init__.py | 11 | CODE | |
| LOW | src/tmuxp/__init__.py | 12 | CODE | |
| LOW | src/tmuxp/__init__.py | 12 | CODE | |
| LOW | src/tmuxp/__init__.py | 12 | CODE | |
| LOW | src/tmuxp/__init__.py | 12 | CODE | |
| LOW | src/tmuxp/__init__.py | 12 | CODE | |
| 63 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | docs/_ext/aafig.py | 212 | except AafigError: | CODE |
| HIGH | src/tmuxp/util.py | 139 | except StopIteration: | CODE |
| HIGH | src/tmuxp/shell.py | 292 | except ImportError: | CODE |
| HIGH | src/tmuxp/workspace/builder/classic.py | 408 | except ObjectDoesNotExist: | CODE |
| HIGH | src/tmuxp/workspace/builder/classic.py | 687 | except (KeyError, IndexError): | CODE |
| HIGH | src/tmuxp/cli/import_config.py | 154 | except ImportError: | CODE |
| HIGH | src/tmuxp/cli/convert.py | 58 | except ImportError: | CODE |
| HIGH | src/tmuxp/cli/ls.py | 235 | except (yaml.YAMLError, json.JSONDecodeError, OSError): | CODE |
| HIGH | src/tmuxp/cli/search.py | 611 | except (yaml.YAMLError, json.JSONDecodeError, OSError): | CODE |
| HIGH | src/tmuxp/cli/load.py | 864 | except ImportError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | conftest.py | 29 | logger = logging.getLogger(__name__) | CODE |
| LOW | docs/_ext/aafig.py | 40 | logger = logging.getLogger(__name__) | CODE |
| LOW | docs/_ext/tmux_layout.py | 50 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/tmuxp/log.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/tmuxp/util.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/tmuxp/shell.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/tmuxp/__init__.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/tmuxp/types.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/tmuxp/exc.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/tmuxp/__about__.py | 7 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/tmuxp/plugin.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/tmuxp/_compat.py | 6 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/tmuxp/_internal/config_reader.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/tmuxp/_internal/__init__.py | 7 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/tmuxp/_internal/types.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/tmuxp/_internal/private_path.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/tmuxp/_internal/private_path.py | 145 | __all__ = ["PrivatePath", "collapse_home_in_string"] | CODE |
| LOW | src/tmuxp/_internal/colors.py | 52 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/tmuxp/workspace/freezer.py | 8 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/tmuxp/workspace/finders.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/tmuxp/workspace/constants.py | 7 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/tmuxp/workspace/__init__.py | 7 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/tmuxp/workspace/importers.py | 8 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/tmuxp/workspace/loader.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/tmuxp/workspace/validation.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/tmuxp/workspace/builder/__init__.py | 32 | __all__ = [ | CODE |
| LOW | src/tmuxp/workspace/builder/classic.py | 30 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/tmuxp/cli/_colors.py | 26 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/tmuxp/cli/_colors.py | 28 | __all__ = [ | CODE |
| LOW | src/tmuxp/cli/_output.py | 32 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/tmuxp/cli/import_config.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/tmuxp/cli/_formatter.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/tmuxp/cli/convert.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/tmuxp/cli/shell.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/tmuxp/cli/__init__.py | 62 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/tmuxp/cli/debug_info.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/tmuxp/cli/edit.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/tmuxp/cli/ls.py | 50 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/tmuxp/cli/utils.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/tmuxp/cli/utils.py | 25 | __all__ = [ | CODE |
| LOW | src/tmuxp/cli/freeze.py | 25 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/tmuxp/cli/search.py | 43 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/tmuxp/cli/load.py | 39 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/tmuxp/cli/_progress.py | 22 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/tmuxp/cli/_progress.py | 904 | def update_message(self, message: str) -> None: | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/workspace/test_finder.py | 425 | CODE | |
| LOW | tests/cli/test_help_examples.py | 13 | CODE | |
| LOW | tests/cli/test_help_examples.py | 42 | CODE | |
| LOW | docs/_ext/aafig.py | 166 | CODE | |
| LOW | src/tmuxp/util.py | 28 | CODE | |
| LOW | src/tmuxp/util.py | 144 | CODE | |
| LOW | src/tmuxp/shell.py | 147 | CODE | |
| LOW | src/tmuxp/shell.py | 339 | CODE | |
| LOW | src/tmuxp/workspace/freezer.py | 59 | CODE | |
| LOW | src/tmuxp/workspace/finders.py | 285 | CODE | |
| LOW | src/tmuxp/workspace/importers.py | 116 | CODE | |
| LOW | src/tmuxp/workspace/loader.py | 68 | CODE | |
| LOW | src/tmuxp/workspace/loader.py | 197 | CODE | |
| LOW | src/tmuxp/cli/_formatter.py | 172 | CODE | |
| LOW | src/tmuxp/cli/__init__.py | 281 | CODE | |
| LOW | src/tmuxp/cli/ls.py | 258 | CODE | |
| LOW | src/tmuxp/cli/ls.py | 399 | CODE | |
| LOW | src/tmuxp/cli/ls.py | 482 | CODE | |
| LOW | src/tmuxp/cli/search.py | 534 | CODE | |
| LOW | src/tmuxp/cli/search.py | 676 | CODE | |
| LOW | src/tmuxp/cli/load.py | 134 | CODE | |
| LOW | src/tmuxp/cli/load.py | 342 | CODE | |
| LOW | src/tmuxp/cli/load.py | 459 | CODE | |
| LOW | src/tmuxp/cli/_progress.py | 439 | CODE | |
| LOW | src/tmuxp/cli/_progress.py | 787 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .claude/skills/update-libtmux/SKILL.md | 29 | ## Step 0: Preflight | COMMENT |
| LOW | .claude/skills/update-libtmux/SKILL.md | 59 | ## Step 1: Study upstream changes | COMMENT |
| LOW | .claude/skills/update-libtmux/SKILL.md | 112 | ## Step 2: Create branch | COMMENT |
| LOW | .claude/skills/update-libtmux/SKILL.md | 120 | ## Step 3: Package commit | COMMENT |
| LOW | .claude/skills/update-libtmux/SKILL.md | 174 | ## Step 4: Code commit(s) — if needed | COMMENT |
| LOW | .claude/skills/update-libtmux/SKILL.md | 218 | ## Step 5: Test commit(s) — if needed | COMMENT |
| LOW | .claude/skills/update-libtmux/SKILL.md | 249 | ## Step 6: CHANGES commit | COMMENT |
| LOW | .claude/skills/update-libtmux/SKILL.md | 286 | ## Step 7: Push and open PR | COMMENT |
| LOW⚡ | .github/issue_template.md | 5 | ### Step 1: Provide a summary of your problem | COMMENT |
| LOW⚡ | .github/issue_template.md | 9 | ### Step 2: Provide tmuxp details | COMMENT |
| LOW⚡ | .github/issue_template.md | 14 | ### Step 3: Describe the problem: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/_ext/aafig.py | 206 | except Exception as e: | CODE |
| LOW | src/tmuxp/log.py | 160 | except Exception as e: | CODE |
| LOW | src/tmuxp/util.py | 162 | except Exception as e: | CODE |
| LOW | src/tmuxp/util.py | 184 | except Exception as e: | CODE |
| LOW | src/tmuxp/util.py | 203 | except Exception as e: | CODE |
| LOW | src/tmuxp/workspace/builder/classic.py | 70 | except Exception: | CODE |
| LOW | src/tmuxp/workspace/builder/classic.py | 537 | except Exception: | CODE |
| LOW | src/tmuxp/cli/load.py | 667 | except Exception: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/workspace/test_builder.py | 337 | # Print output for easier debugging if assertion fails | COMMENT |
| LOW | tests/cli/test_debug_info.py | 158 | # Set SHELL to a path under home directory | COMMENT |
| LOW | src/tmuxp/cli/search.py | 230 | # Check if prefix is a valid field alias | COMMENT |
| LOW | src/tmuxp/cli/search.py | 1301 | # Output results | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/cli/test_prompt_colors.py | 134 | # Create a path under the user's home directory | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pyproject.toml | 261 | "src/tmuxp/cli/*.py" = ["PTH"] | COMMENT |
| LOW | tests/workspace/test_config.py | 101 | } | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/tmuxp/_internal/colors.py | 735 | CODE | |
| LOW | src/tmuxp/cli/load.py | 459 | CODE |