JanDeDobbeleer/oh-my-posh · info

no game score found for team

Error message

no game score found for team

What it means

The nba segment fetches the NBA scoreboard and looks up a game by team tricode (3-letter abbreviation). findGameScoreByTeamTricode() returns 'no game score found for team' when no game in the scoreboard data matches the configured team's tricode.

Source

Thrown at src/segments/nba.go:156

func (nba *Nba) Enabled() bool {
	data, err := nba.getResult()
	if err != nil || !data.GameStatus.Valid() {
		return false
	}

	nba.NBAData = *data

	return true
}

func (nba *Nba) findGameScoreByTeamTricode(games []Game, teamTricode string) (*Game, error) {
	for _, game := range games {
		if game.HomeTeam.TeamTricode == teamTricode || game.AwayTeam.TeamTricode == teamTricode {
			return &game, nil
		}
	}

	return nil, errors.New("no game score found for team")
}

func (nba *Nba) findGameSchedulebyTeamTricode(games []ScheduledGame, teamTricode string) (*ScheduledGame, error) {
	for _, game := range games {
		if game.VtAbbreviation == teamTricode || game.HtAbbreviation == teamTricode {
			return &game, nil
		}
	}

	return nil, errors.New("no scheduled game found for team")
}

func (nba *Nba) parseTimetoUTC(timeEST, date string) string {
	combinedTime := date + " " + timeEST
	timeUTC, err := time.Parse("01/02/2006 03:04 PM", combinedTime)
	if err != nil {
		return ""
	}

View on GitHub (pinned to 0976794618)

Solutions

  1. Verify the `team_tricode` (or equivalent) option matches the official NBA tricode for the team.
  2. Remember the segment only shows during/around games — it is expected to hide when the team isn't playing.
  3. Check the NBA data feed manually for the date in question to confirm no game is scheduled.
  4. Use display_mode or fallback text options so the segment renders nothing instead of erroring visibly.

Example fix

// before
"team_tricode": "LAC"  // intended Clippers? LAC vs LAL confusion
// after
"team_tricode": "LAL"
Defensive patterns

Strategy: fallback

Validate before calling

tricode="LAL"; case $tricode in LAL|BOS|GSW|NYK) echo ok;; *) echo 'use official NBA tricode';; esac

Try / catch

game, err := findGameScoreByTeamTricode(games, tricode)
if err != nil {
    // no game today: render nothing
}

Prevention

When it happens

Trigger: retrieveScoreData runs while the day's scoreboard contains no game for the configured team: team not playing today, wrong tricode in theme config, or game outside the fetched date range.

Common situations: Offseason or non-game days; user typo'd the tricode (must be the official NBA abbreviation, e.g. 'LAL', 'BOS'); team relocated/renamed and config kept the old code; timezone boundaries meaning the game falls on a different scoreboard date.

Related errors


AI-assisted analysis of JanDeDobbeleer/oh-my-posh@0976794618 (2026-08-31). Data as JSON: /api/errors/930199b7c0440bf6. Report an issue: GitHub.