Git mode is a project storage mode that lets you manage test specs in the same GitHub repository as your code. Spec changes can be reviewed in the same branch and the same pull request (PR) as the code. Test execution and result sharing continue to happen in KATATAN.
| Item | DB mode | Git mode |
|---|---|---|
| Where test specs are stored | KATATAN | CSV files in a GitHub repository |
| Saving | Auto-save | Save = commit (you enter a commit message) |
| Reviewing changes | KATATAN change history | GitHub PRs |
| Where test reports are stored | KATATAN | KATATAN (not stored in Git) |
| MCP tools / CLI commands for specs and test cases | Available | Not available (edit the CSV in the repository directly) |
| Term | Meaning |
|---|---|
| Repository | A place on GitHub where files are stored |
| Branch | A line of work (series of versions) within a repository, e.g. main, develop |
| Commit | Saving a set of changes as a single unit. "Saving" in Git mode |
| PR (pull request) | A request to merge changes from one branch into another. Reviewed on GitHub |
| Protected branch | A branch where direct changes are prohibited on GitHub. Opened as read-only in KATATAN |
| Working branch | A personal branch created with Start editing in KATATAN. Named katatan/spec/<username>/<name> |
| KATATAN-format CSV | A CSV with the columns No, Labels, Test Subject, Preconditions, Steps, Expected Result, Notes, Images. Compatible with KATATAN's CSV export |
| Snapshot | A copy of the spec contents at the time a report was created. The report does not change even if the spec changes later |
https://github.com/owner/repo).The storage mode cannot be changed after the project is created.
You can change or reconnect the linked repository from Repository in the project settings (project Owners and workspace Owners only). Existing test reports are kept even if you change the repository.
Repository content is viewed and edited with each user's own GitHub account permissions. Every member therefore needs to sign in to GitHub once. The first time you open the repository, you are prompted to sign in to GitHub to view it.
The sidebar shows the project's repository name (linked to GitHub), a branch switcher, and the files and folders at the root. Below that, under the KATATAN reports heading, Test reports opens the list of reports.
Selecting a file displays it in the main area as follows:
| File | Display |
|---|---|
| Folder | List of contents. README.md is shown below, if present |
| CSV / TSV | Opened in the table editor (CSV4TEST) |
| Markdown | Rendered |
| Image (png / jpg / gif / webp / svg) | Shown as an image |
| Text / code | Shown as is (only the first 1 MB for files larger than 1 MB) |
| Other | A "This file cannot be previewed" message with Download and Open on GitHub |
Only CSV and TSV files can be edited in KATATAN (other files are read-only).
Clicking the save button (or pressing Ctrl+S) opens a dialog for the commit message; confirming it creates one commit.
<CSV name>.assets/ folder.New test spec on a folder screen creates a CSV that contains only the KATATAN-format header row.
If someone else committed to the same file first, KATATAN tells you so, and you can review the contents and save again. Changes to different files are stacked automatically.
KATATAN imports the latest contents of the selected branch and creates a test report. Nothing is committed to the repository.
If the spec is updated after the report was created, the report shows "The spec has been updated since this report was created", and View diff on GitHub lets you review the changes.
From @katatan/cli 0.2.0 onward, you can create test reports from local CSV files (see KATATAN CLI for command details).
# Create a test report from a local CSV
katatan report create --spec ./specs/login.csv --name "Regression test 2026-10"
# Export a report to CSV (export only; not synced with KATATAN)
katatan report export <report-id> --out ./report.csvreport create sends the CSV contents and Git information (current commit, branch, path within the repository, and whether there are uncommitted changes).--branch.<CSV name>.assets/ folder are sent, up to 3 MB in total.create_git_report and export_test_report.{projectId}.git.{reportId} (Copy ID in the UI copies this form).spec_storage_git).| Action | KATATAN role | GitHub permission |
|---|---|---|
| Browse the repository, switch branches | Project Viewer or above | Read |
| Edit and commit CSVs, create working branches and PRs, create new test specs | Project Editor or above | Write |
| Start a test (create a report) | Project Editor or above | Read |
| View reports, record results, share | Unchanged | Not required |
| "Spec has been updated" notice | Unchanged | Read (not shown to users without it) |
| Connect, change, or reconnect the repository | Project Owner or workspace Owner | Access to the repository being connected |
| Message | Cause and solution |
|---|---|
| Only GitHub repositories can be connected | The URL is not a GitHub URL. Specify a GitHub repository |
| Enter a repository URL | The URL format is invalid |
| Repository not found | The URL is wrong, or you do not have access |
| The KATATAN GitHub App is not allowed for this repository | On GitHub, add this repository to the App's installation |
| Your GitHub account cannot access this repository | Ask to be granted access to the repository on GitHub |
| Popup blocked | Allow popups in your browser |
| The connection has expired | The connection took more than 10 minutes. Start over |
KATATAN shows that you do not have access to the repository (owner/name), along with your connected GitHub login.
The branch you had open has been deleted. Click Switch to the default branch to go back.
| Item | Current status |
|---|---|
| Supported Git services | GitHub only (GitLab and others are planned) |
| Changing the storage mode | Not possible after project creation. Migration from DB mode to Git mode is planned |
| Editable files | CSV and TSV only (others are read-only) |
| File size | Up to 4 MB per file and per commit. Up to 10,000 files per folder |
| Git LFS | Not supported. Files managed with LFS cannot be viewed or edited |
| Reflecting changes made on GitHub | Not automatic (reopen the file or click Reload) |
| Concurrent edits to the same file | The first commit wins; later editors see a conflict (line-level auto-merge is planned) |
| Where reports are stored | KATATAN (not stored in Git) |
| Importable images | PNG and JPEG, up to 5 MB each |
| Test cases per report | Up to 10,000 |