Thunder general manager Sam Presti announced the signing Sunday and said Shakur was expected to be in uniform when Oklahoma City hosted the Dallas Mavericks.
Shakur replaces Reggie Williams on the Thunder's roster. Williams' 10-day contract expired Saturday.
Shakur has played in 37 NBA Development League games this season, most recently with the Tulsa 66ers, and has averaged 16.7 points, 6.1 assists, 4.2 rebounds and 1.9 steals. He was named as the D-League's defensive player of the month for February.
Shakur hasn't played in the NBA since appearing in 22 games for the Washington Wizards during the 2010-11 season. He spent time on the Thunder's roster during the 2009-10 season but didn't appear in any games.